Node의 내장 crypto 모듈은 암호화 기능을 제공합니다. 해싱, 암호화, 난수 값, HMAC 등입니다. 가장 중요한 실용적 용도 — 비밀번호 해싱 — 에는 핵심 원칙이 있습니다. 비밀번호에는 절대 빠르고 범용적인 해시(MD5/SHA-256)를 사용하지 마세요.
비밀번호 해싱: 느리고 솔트(salt)가 적용된 알고리즘 사용
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
