Node の組み込み crypto モジュールは、ハッシュ化、暗号化、ランダム値、HMAC といった暗号機能を提供します。最も重要な実用的用途であるパスワードのハッシュ化には、決定的に重要なルールがあります。パスワードには高速な汎用ハッシュ(MD5/SHA-256)を決して使わないことです。
パスワードのハッシュ化: 低速でソルト付きのアルゴリズムを使う
js
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
