Wbudowany moduł crypto Node'a dostarcza funkcji kryptograficznych: haszowanie, szyfrowanie, wartości losowe i HMAC. Najważniejsze praktyczne zastosowanie — haszowanie haseł — ma krytyczną regułę: nigdy nie używaj szybkich, ogólnego przeznaczenia haszów (MD5/SHA-256) do haseł.
Haszowanie haseł: używaj WOLNEGO, słonego algorytmu
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
