Bcrypt 해시 / 검증
조정 가능한 cost로 bcrypt 해시 생성, 또는 기존 해시와 비밀번호 일치 검증 — 브라우저 안에서 실행.
—
사용법
- 해시 모드: 비밀번호 입력, cost 선택(10이 최신 기본값), 생성 클릭.
- 검증 모드:
$2a$·$2b$·$2y$로 시작하는 해시를 붙여넣고 후보 비밀번호 입력 후 검증 클릭. - 해시를 복사하세요.
자세한 설명
펼치기접기
bcrypt는 비밀번호 저장의 기본 선택지입니다. 일부러 느리게 만들었고, 솔트를 해시 문자열 안에 함께 담습니다. 이 도구는 비용 계수 4에서 14까지로 해시를 만들고(한 단계마다 작업량이 두 배가 되므로 12는 4보다 대략 256배 오래 걸립니다), 기존 해시를 후보 비밀번호와 대조해 검증합니다. 매번 새로운 무작위 솔트를 쓰기 때문에 같은 비밀번호를 두 번 해싱하면 서로 다른 문자열이 나오지만 둘 다 검증에 통과합니다. 이는 버그가 아니라 설계가 제대로 동작하는 것입니다. 해시는 $2b$ 접두사로 생성되며, 검증은 예전 형식인 $2a$와 $2y$도 받아들입니다. bcrypt는 비밀번호의 처음 72바이트만 읽으므로 그 뒤는 결과에 영향을 주지 않는다는 점도 기억하세요. 모든 처리는 bcryptjs로 브라우저 안에서 이루어지며 비밀번호는 페이지를 벗어나지 않습니다.
자주 묻는 질문
어떤 cost를 써야 하나요?
10이 최신 기본값입니다(서버 CPU 약 100ms). 고가치 비밀에는 12, 오프라인 전용에는 14를 쓰세요. 2026년에 8 미만은 너무 빠릅니다.
왜 브라우저에서 cost 14가 느리죠?
한 단계 올릴 때마다 작업량이 2배가 됩니다. cost 14는 일반 노트북에서 1~4초가 걸리는데, 그게 포인트입니다.
$2a$, $2b$, $2y$의 차이?
다양한 bcrypt 구현의 포맷 접두사입니다. 최신 라이브러리는 셋 다 호환 검증합니다.
2026년에도 bcrypt 권장?
네, cost ≥10이면 권장할 만합니다. 신규 프로젝트는 Argon2id가 선호되지만, 적절한 cost의 bcrypt는 여전히 널리 지원·안전합니다.
같은 비밀번호인데 매번 다른 해시가 나옵니다. 잘못된 건가요?
아닙니다. 설계가 제대로 동작하는 것입니다. 해시마다 새로운 무작위 솔트가 들어가므로 한 비밀번호의 두 해시는 결코 같지 않지만, 솔트가 문자열 안에 저장되어 있어 둘 다 검증에 통과합니다. 해시가 같다면 솔트가 없다는 뜻이고, 레인보 테이블이 가능해지는 것이 바로 그 경우입니다.
아주 긴 암구호를 쓰면 해시가 더 강해지나요?
72바이트까지만 그렇습니다. bcrypt는 그 뒤를 읽지 않으므로 이후는 무시되고, 앞 72바이트가 같은 두 암구호는 같은 해시로 검증됩니다. 글자가 아니라 바이트라는 점에 유의하세요. 악센트가 붙은 글자나 이모지는 한계에 더 빨리 닿습니다.
이 주제의 가이드
관련 도구
Argon2 해시 생성·검증기 (Argon2id)
Argon2id·Argon2i·Argon2d로 비밀번호를 해시해 $argon2id$ PHC 문자열을 만들거나, 저장된 해시와 비밀번호가 맞는지 확인합니다. 브라우저에서만 실행됩니다.
개발
PKCS#12 키스토어 분석기
.p12/.pfx를 브라우저에서 엽니다. 비밀번호 없이 MAC과 암호 알고리즘을, 입력 후에는 인증서 체인·개인 키·키 일치 여부를 보여줍니다.
개발
파일 해시 (체크섬)
어떤 파일이든 SHA-1·SHA-256·SHA-512 체크섬을 계산하세요.
파일
파일 해시 검증
파일 드롭 + 기대 SHA-1/256/384/512 붙여넣기 → 실제 해시 일치 검증. 다운로드한 바이너리 설치 전에 유용.
파일
PBKDF2 키 유도
브라우저에서 PBKDF2-HMAC으로 비밀번호에서 키를 유도합니다. 해시와 반복 횟수, 출력 길이를 고르고 결과를 16진수나 Base64로 읽습니다.
개발
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발