본문으로 건너뛰기

Bcrypt 검증기

비밀번호와 bcrypt 해시가 일치하는지 확인하세요. 비밀번호와 $2a$, $2b$ 또는 $2y$ 해시를 붙여 넣으면 도구가 문자열에서 솔트와 비용을 읽고 해시를 다시 계산한 다음 일치 여부를 알려줍니다. 개발자가 로그인 문제를 디버깅하고 데이터베이스 마이그레이션을 확인하며 PHP, Node.js 또는 Python에서 생성한 해시를 테스트하는 데 도움이 됩니다. 비용이 12를 초과하는 해시는 거부하며 비밀번호는 응답에 표시되지 않습니다.

초기화

자주 묻는 질문

bcrypt 검증은 어떻게 작동하나요?

도구가 해시 문자열에서 버전, 비용, 솔트를 읽고 정확히 같은 설정으로 비밀번호를 해시한 다음 결과를 저장된 해시와 비교합니다. 두 값이 같으면 일치, 다르면 불일치로 표시합니다.

어떤 해시 형식을 지원하나요?

도구는 $2a$, $2b$, $2y$ 접두사와 두 자리 비용, 솔트 및 해시를 합쳐 53자로 구성되는 모듈식 암호화 형식을 지원합니다. 이 형식은 PHP password_hash, Node.js bcrypt 및 bcryptjs, Python bcrypt, Spring Security에서 사용됩니다.

해시가 거부되는 이유는 무엇인가요?

해시는 $2b$10$ 뒤에 bcrypt에서 사용하는 문자 집합의 53자가 이어지는, 정확히 60자 형식이어야 합니다. 데이터베이스 열에서 잘리지 않았는지, 따옴표로 감싸지지 않았는지 확인하세요. 서비스가 빠르게 작동하도록 비용이 12를 초과하는 해시는 거부합니다.

알려진 예시를 사용해 볼 수 있나요?

공개된 jBCrypt 테스트 벡터 $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i는 비밀번호 abc에 해당합니다. 두 값을 모두 입력하면 일치로 표시되고, 다른 비밀번호를 입력하면 불일치로 표시됩니다.

비용 한도가 12인 이유는 무엇인가요?

해시 검증에는 생성할 때만큼의 비용이 들고, 비용 단계가 하나 올라갈 때마다 시간이 두 배로 늘어납니다. 비용이 12를 넘으면 몇 초가 걸릴 수 있으므로 서버가 장시간 점유되지 않도록 도구에서 거부합니다.

검증기가 비밀번호를 표시하거나 저장하나요?

아니요. 응답에는 비밀번호가 아니라 해시와 결과만 포함됩니다. 어떤 내용도 로그에 기록하거나 저장하지 않습니다.

비밀번호 길이에 제한이 있나요?

bcrypt는 비밀번호의 처음 72바이트만 읽으며, 이 도구는 긴 비밀번호를 자르는 대신 거부합니다. 해시를 만들 때 시스템이 긴 비밀번호를 잘랐다면 처음 72바이트만 입력하세요.

$2a$, $2b$, $2y$의 차이는 무엇인가요?

이 접두사들은 이전 구현의 버그를 수정한 버전을 나타냅니다. $2y$는 PHP의 crypt_blowfish 수정 버전에서, $2b$는 긴 비밀번호 문제를 수정한 OpenBSD 버전에서 유래했습니다. 유효한 72바이트 이하의 비밀번호에는 같은 해시가 생성되므로 도구는 세 형식을 모두 검증합니다.

여기서 다른 알고리즘의 해시도 검증할 수 있나요?

아니요. 이 도구는 bcrypt 해시만 확인합니다. $argon2로 시작하는 문자열에는 Argon2 Verifier를 사용하세요.

비밀번호로 새로 만든 bcrypt 해시가 저장된 해시와 다른 이유는 무엇인가요?

bcrypt 해시는 매번 새 무작위 솔트를 사용하므로 같은 비밀번호의 해시라도 문자열은 항상 다릅니다. 따라서 검증할 때는 두 해시를 비교하는 대신 저장된 솔트를 사용해 다시 계산합니다.

OneClick Pro 소개

OneClick Pro은 일상 업무에 활용할 수 있는 150개 이상의 웹 도구를 무료로 모아 제공합니다. 이미지와 단위를 변환하고, 코드를 포맷하고 검증하고, 도메인과 SEO를 확인하고, 텍스트와 날짜, 숫자를 다룰 수 있습니다. 모든 도구는 가입이나 구독 없이 사용할 수 있으며, 입력한 내용은 결과를 계산하는 데만 사용되고 저장되지 않습니다. 한 번 쓰는 작업을 위한 빠른 도구 모음으로 활용하거나, 매일 자주 쓰는 도구를 북마크해 두세요.