본문으로 건너뛰기
MyIPKit— 내 네트워크를 이해하다.

비밀번호 해시 생성·검증

서버가 저장해야 하는 방식 그대로 비밀번호 해시를 만듭니다. bcrypt, Argon2id, scrypt, PBKDF2. 또는 가지고 있는 해시와 비밀번호가 맞는지 확인합니다.

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

아무것도 전송되지 않지만, 실제로 쓰는 비밀번호는 어떤 웹사이트에도 입력하지 않는 게 좋은 습관입니다.

해시 만들기

비밀번호 확인

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

인코딩된 해시 읽는 법

$argon2id$v=19$m=19456,t=2,p=1$<솔트>$<해시>는 알고리즘, 버전, 매개변수, 솔트, 결과 순입니다. 비밀번호 확인에 필요한 모든 것이 문자열 하나에 들어 있어서 한 필드로 저장합니다.

어떤 걸 써야 하나요?

새 시스템에는 OWASP 권장대로 Argon2id, Argon2를 못 쓰면 bcrypt, 표준이 요구하면 scrypt나 PBKDF2입니다. 여기 기본값은 OWASP가 권장하는 최솟값입니다.

왜 SHA-256으로 저장하면 안 되나요?

일반 해시는 빠르게 만들어져서 공격자가 1초에 수십억 번 추측할 수 있습니다. 비밀번호 해시는 일부러 느리고 랜덤 솔트를 써서, 추측 한 번이 비싸고 같은 비밀번호도 다르게 해시됩니다.

라이브러리마다 형식이 왜 다른가요?

bcrypt와 Argon2는 표준 인코딩 형식이 있지만 scrypt와 PBKDF2는 없어서 라이브러리마다 다릅니다. 여기서는 해시와 솔트를 패딩 없는 표준 Base64로 씁니다.