사용 방법
- 해시 생성에서 비밀번호와 비용 계수를 입력하고 해시 생성을 클릭하세요.
- 해시를 복사하세요. 매번 새로운 무작위 솔트가 사용되므로 같은 비밀번호도 다른 해시가 나와요.
- 확인하려면 오른쪽에 bcrypt 해시와 비밀번호를 입력해 일치 여부를 확인하세요.
옵션 설명
- 비용 계수
- 4~15이며 기본값은 10이에요. 비용이 한 단계 오를 때마다 작업량이 두 배가 되고 브라우저에서 걸린 시간도 보여 줘요.
- 버전 접두사
- 새 해시는 $2b$로 시작해요. 확인할 때는 PHP password_hash가 만든 $2a$, $2b$, $2y$ 해시를 그대로 사용할 수 있어요.
- 72바이트 제한
- bcrypt는 UTF-8 비밀번호의 처음 72바이트만 사용해요. 한글처럼 여러 바이트를 쓰는 문자는 더 빨리 제한에 도달할 수 있어요.
해시 형식
예시 해시는 $2b$10$로 시작하고 그 뒤에 버전, 비용 계수, 솔트와 해시가 이어져요.
$2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
2b: 알고리즘 버전10: 비용 계수, 2¹⁰ = 1,024회N9qo8uLOickgx2ZMRZoMye: 22자리 솔트- 나머지 31자리: 해시
자주 묻는 질문
같은 비밀번호인데 매번 해시가 다른 이유는 무엇인가요?
bcrypt는 해시마다 16바이트 무작위 솔트를 만들고 해시 안에 저장해요. 확인할 때는 해시에서 솔트를 읽어 다시 계산하므로 모두 검증할 수 있어요.
bcrypt를 복호화할 수 있나요?
아니요. bcrypt는 단방향 해시예요. 후보 비밀번호를 해싱해 비교하는 방법만 가능하며 복호화 사이트는 보통 비밀번호를 하나씩 시도하는 방식이에요.
어떤 비용 계수를 사용해야 하나요?
서버에서 해시 하나를 약 100ms에 계산하도록 조정하는 것이 일반적이며 현재는 보통 10~12예요. 너무 낮으면 무차별 대입에 약하고 너무 높으면 로그인 처리가 느려져요.
비밀번호가 업로드되나요?
아니요. 해싱과 확인은 브라우저 JavaScript에서 실행되며 오프라인에서도 작동해요.
개인정보 보호
이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.