bcrypt, scrypt, Argon2 비밀번호 해시를 브라우저에서 만들고 검증합니다. 설정이 OWASP 권장값보다 낮으면 경고하며, 검증할 때는 Django PBKDF2 해시도 읽을 수 있습니다.
‘해시 생성’을 고르고 ‘알고리즘’에서 bcrypt, scrypt, Argon2 중 하나를 선택합니다.
매개변수(bcrypt의 ‘비용 계수’, scrypt의 N·r·p, Argon2의 ‘변형’·‘메모리’·‘반복 횟수’·‘병렬도’)를 조정하고 경고가 뜨는지 확인합니다.
‘비밀번호’를 입력하고 ‘해시 생성’을 누른 뒤 해시 문자열을 복사합니다. scrypt와 Argon2는 원시 해시와 솔트도 함께 보여 줍니다.
비밀번호를 확인하려면 ‘해시 검증’으로 바꾸고(또는 ‘이 해시 검증하기’를 누르고) ‘해시 문자열’을 붙여 넣은 뒤 ‘확인할 비밀번호’를 입력하고 ‘검증’을 누릅니다.
아니요. 해시는 기기의 백그라운드 작업에서 계산되며 비밀번호와 해시 모두 저장하거나 전송하지 않습니다.
매번 새로운 16바이트 무작위 솔트를 쓰기 때문입니다(bcrypt는 솔트를 직접 만듭니다). 솔트는 해시 문자열 안에 들어 있어 검증은 문제없이 됩니다. 이미 알고 있는 해시를 재현할 때만 ‘직접 지정’ 솔트를 쓰세요.
새 시스템에는 Argon2id를 권장하며 OWASP 최소 기준은 m = 19 MiB, t = 2, p = 1입니다. scrypt는 N = 2^17, r = 8, p = 1, bcrypt는 비용 10 이상을 권장합니다. 이보다 낮으면 도구가 경고합니다.
bcrypt($2a$, $2b$, $2y$), Argon2id/2i/2d PHC 문자열, scrypt($scrypt$, $s0$), Django pbkdf2_sha256 / pbkdf2_sha1입니다. Linux crypt 해시($1$, $5$, $6$, $y$), Apache $apr1$, 일반 MD5/SHA 다이제스트는 인식은 하지만 검증은 지원하지 않습니다.
bcrypt는 비밀번호의 앞 72바이트만 사용하고 나머지는 무시합니다. 이런 경우 도구가 경고합니다. Argon2와 scrypt에는 이런 제한이 없습니다.
없습니다. 입력한 비밀번호가 일치하는지만 확인합니다. 비밀번호 해시는 단방향이면서 일부러 느리게 설계되어 계산에 잠시 시간이 걸립니다. 타이머를 보며 기다리거나 ‘취소’를 누를 수 있습니다.