Bcrypt 해시 & 검증
bcrypt로 비밀번호 해시 생성 또는 평문과 해시 대조
로컬 실행
loading…
이 도구에 대해
선택한 비용 계수로 비밀번호를 bcrypt 해싱하거나, 평문이 기존 해시와 일치하는지 검증합니다. 둘 다 전적으로 브라우저 안에서 이루어지는데, 테스트 대상이 비밀번호라면 정확히 이것이 원하는 방식입니다. 해시 검사기는 어떤 bcrypt 해시든 버전, 비용, 솔트로 분해해 줍니다.
bcrypt가 비밀번호 저장에 여전히 견실한 선택인 이유는 의도적으로 느리고 비밀번호마다 솔트가 적용되기 때문입니다. 비용 계수가 1 오를 때마다 작업량이 두 배가 되며, 비용 12는 기반 암호 셋업의 4096회 반복을 의미합니다. 소요 시간 표시가 선택한 비용이 얼마나 걸리는지 보여주어, 보안과 지연 사이의 트레이드오프가 구체적으로 다가옵니다.
검증은 일상에서 더 흔한 요구입니다. 앱 코드를 띄우지 않고도 데이터베이스의 해시가 알고 있는 비밀번호와 일치하는지 확인하는 것이죠. 둘 다 붙여넣으면 예 또는 아니요를 얻습니다.
자주 묻는 질문
- 프로덕션에서는 어떤 비용 계수를 써야 하나요?
- 고전적인 지침은 로그인 지연 예산이 허용하는 만큼 높게이며, 요즘은 보통 10–13입니다. 프로덕션 하드웨어에서 해시당 100–300ms를 목표로 하세요. 브라우저 JavaScript는 네이티브보다 느리므로 여기 표시되는 시간은 여러분 서버 기준으로는 상한입니다.
- 왜 같은 비밀번호가 매번 다른 해시를 만드나요?
- 해시마다 무작위 16바이트 솔트가 생성되어 해시 문자열 안에 함께 저장됩니다. 이것은 설계 의도입니다. 동일한 비밀번호가 서로 다른 해시를 얻어 사전 계산된 레인보 테이블을 무력화합니다. 검증 시 해시에서 솔트를 다시 읽어 내며, 비교가 성립하는 이유가 바로 그것입니다.
- bcrypt 해시의 각 부분은 무슨 뜻인가요?
- $2b$12$ + 53자입니다. 2b는 알고리즘 버전, 12는 비용(2^12회 반복), 다음 22자는 솔트, 마지막 31자는 다이제스트로, 전부 bcrypt 고유의 base64 알파벳입니다. 도구 아래의 검사기가 어떤 해시든 이렇게 분해해 줍니다.
- 지금도 Argon2보다 bcrypt가 권장되나요?
- 새 시스템의 현재 1순위는 Argon2id입니다(메모리 하드니스가 GPU 크래킹에 저항합니다). bcrypt는 여전히 수용 가능하고 어디에나 있습니다. 실용적인 조언은 이렇습니다. 잘 돌아가는 bcrypt 저장소를 허둥지둥 이전하지 말되, 완전히 새로운 설계에는 Argon2id를 고르세요. 둘 다 SHA-256 같은 빠른 해시와는 격이 다릅니다.