Hashovací funkce
Pokud si chcete email hashovat sami, připravili jsme pro vás ukázky kódů pro použití v různých jazycích. Každá metoda obsahuje jediný parametr, ve kterém očekává emailovou adresu v "plaintextu".
Validace hodnoty vkládané do parametru funkce je silně doporučena.
Ukázky kódů
JavaScript
const crypto = require('crypto');
function hashEmail(email) {
email = email.trim().toLowerCase();
const utf8Email = Buffer.from(email, 'utf-8');
const hash = crypto.createHash('sha256').update(utf8Email).digest('hex');
return hash;
}
Python
import hashlib
def hash_email(email):
email = email.strip().lower()
utf8_email = email.encode('utf-8')
email_hash = hashlib.sha256(utf8_email).hexdigest()
return email_hash
PHP
function hashEmail($email){
$email = strtolower(trim($email));
$utf8Email = mb_convert_encoding($email, 'UTF-8');
$hash = hash('sha256', $utf8Email);
return $hash;
}
Java
public static String hashEmail(String email) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(email.trim().toLowerCase().getBytes(StandardCharsets.UTF_8));
return String.format("%064x", new BigInteger(1, hash));
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
C#
public static string HashEmail(string email)
{
using (var sha = new System.Security.Cryptography.SHA256Managed())
{
byte[] textData = System.Text.Encoding.UTF8.GetBytes(email.Trim().ToLower());
byte[] hash = sha.ComputeHash(textData);
return BitConverter.ToString(hash).Replace("-", String.Empty).ToLower();
}
}