DevTulz Online

Bcrypt 생성기 및 검증기

10
높을수록 = 더 안전하지만 더 느림

Bcrypt란 무엇인가요?

Bcrypt는 보안을 위해 설계된 비밀번호 해시 함수입니다. 빠른 해시 함수(MD5, SHA-1)와 달리, bcrypt는 설정 가능한 비용 계수를 통해 의도적으로 느립니다 — 무차별 대입 공격을 비현실적으로 만듭니다. 각 해시에는 무작위 salt가 포함되어 있어 동일한 비밀번호도 다른 해시를 생성합니다. 비용 계수(라운드)는 각 증가마다 계산 시간을 두 배로 늘립니다: 비용 10은 약 100ms, 비용 12는 약 400ms, 비용 14는 약 1.5초가 걸립니다. 평문으로 비밀번호를 저장하지 마세요 — 항상 bcrypt 또는 유사한 적응형 함수로 해시하세요.

Bcrypt 생성기 사용 방법

  1. 'Hash' 탭에 비밀번호를 입력하고 비용 계수를 선택하세요 (대부분의 앱에는 10–12 권장).

  2. 'Hash 생성'을 클릭하면 bcrypt hash가 아래에 나타나며 데이터베이스에 저장할 준비가 됩니다.

  3. 기존 해시에 대해 비밀번호를 검증하려면 '검증' 탭으로 전환하세요.

  4. 평문 비밀번호와 저장된 bcrypt hash를 입력한 다음 '검증'을 클릭하세요.

  5. 녹색 체크 표시는 일치를 확인합니다; 빨간색은 비밀번호가 틀렸음을 의미합니다.

자주 묻는 질문

어떤 비용 요소(cost factor)를 사용해야 하나요? 대부분의 웹 애플리케이션의 경우 비용 요소 10–12는 보안과 성능 사이의 좋은 균형입니다. 비용 10(~100ms)은 권장되는 최소값입니다. 높은 가치의 계정에는 12(~400ms)를 사용하세요. 10 이하로 설정하지 마세요. 이는 무차별 대입 공격(brute-force attacks)을 더 빠르게 만들기 때문입니다.

같은 비밀번호의 두 해시가 다르게 보이는 이유는 무엇인가요? Bcrypt는 각 해시에 대해 무작위 22자 소금(salt)을 자동으로 생성하고 출력에 포함시킵니다. 이는 같은 비밀번호를 두 번 해시하면 다른 문자열이 나온다는 의미이며, 이는 의도된 설계입니다. 이는 레인보우 테이블 공격(rainbow table attacks)을 방지합니다.

bcrypt 해시 문자열 형식은 무엇을 의미하나요? Bcrypt 해시는 $2b$12$SaltSaltSaltSaltSaltSaHashHashHashHashHashHashHashHas와 같은 형식입니다. $2b$는 알고리즘 버전이고, $12$는 비용 요소이며, 그 뒤에 base64로 인코딩된 22자의 소금(salt)과 31자의 해시가 따릅니다.

이것을 데이터베이스에서 비밀번호를 확인하는 데 사용할 수 있나요? 네. 데이터베이스에 저장된 bcrypt 해시와 평문 비밀번호를 확인 탭에 붙여넣으세요. 이 도구는 일치 여부를 확인해주며, 개발 중 로그인 문제를 디버깅할 때 유용합니다.

Keywords: bcrypt 생성기, bcrypt hash 온라인, bcrypt 검증기, 비밀번호 해싱, bcrypt 비용 계수, 비밀번호 bcrypt 해시, bcrypt 검사기