%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

비밀번호 해시 비용 계산기 (bcrypt, PBKDF2)

입력하면 바로 계산됩니다.

입력값

비밀번호 해시 비용 계산기 쉽게 이해하기 — 개념과 원리

bcrypt나 PBKDF2 같은 비밀번호 해시는 일부러 느리게 만들어져, 비밀번호 데이터베이스가 유출되더라도 공격자가 1초에 시도할 수 있는 추측 횟수를 제한합니다. 이 계산기는 bcrypt 비용 인자에 따라 서버에서 해시 한 번에 걸리는 시간과 내부 반복 횟수를 계산하고, PBKDF2-HMAC-SHA256 반복 횟수가 OWASP 권장값 60만 회를 넘는지 확인합니다.

bcrypt 비용 계수의 두 배 증가비용 10이 60 ms면 11은 120 ms, 12는 240 ms(2¹² = 4,096회)라서 공격자 코어 하나는 초당 약 4번만 추측합니다. PBKDF2 60만 회는 OWASP 최소 기준을 충족합니다.비용 계수가 1 오를 때마다 일이 두 배60 ms비용 10120 ms비용 11240 ms비용 12480 ms비용 1360 ms × 2¹²⁻¹⁰ = 240 ms · 2¹² = 4,096회공격자 코어 1개초당 약 4번 추측1,000 ÷ 240PBKDF2-SHA256600,000 ≥ 600,000OWASP 최소 기준: 충족
한 단계마다 블록이 두 배가 되며, 비용 12가 기본 예시입니다.

계산 방법

먼저 내 서버에서 비용 10으로 시험용 비밀번호를 몇 번 해시해 대표 시간을 재고, 그 값을 넣으면 계산기가 비례해서 늘려 줍니다. 비용 인자는 $2b$12$…처럼 해시 문자열 안에 저장되는 지수입니다.

원리

bcrypt는 비용이 큰 키 설정 단계에서 Blowfish 키 스케줄을 2^비용 번 반복하므로, 비용이 1 오를 때마다 나와 공격자 모두의 작업량이 두 배가 됩니다. 하드웨어가 빨라지면 알고리즘을 바꾸지 않고 비용만 올리면 됩니다. PBKDF2는 HMAC을 정한 횟수만큼 반복하므로 시간이 반복 횟수에 정비례합니다. 둘 다 CPU 중심이라, 메모리까지 많이 쓰게 하는 Argon2id가 GPU 공격에 더 강하며 OWASP도 가장 먼저 권합니다.

예제 풀이

  1. 입력값: 비용 12, 비용 10에서 60 ms, PBKDF2 반복 600,000회
  2. 배율: 2^(12 − 10) = 4
  3. bcrypt 시간: 60 × 4 = 240 ms
  4. 반복 횟수: 2^12 = 4,096
  5. PBKDF2: 600,000 ≥ 600,000이므로 yes
bcrypt 비용 인자 값에 따른 이 비용에서 bcrypt 시간 (ms) 변화bcrypt 비용 인자 값에 따른 이 비용에서 bcryp…0200,000400,000600,000800,0001e+0636912151824예제 값: 240bcrypt 비용 인자
다른 값은 그대로 두고 “bcrypt 비용 인자”만 바꿔 계산기를 다시 돌린 결과입니다. 금색 점이 예제 값이며, 위에 값을 입력하면 내 값으로 다시 그려집니다.
bcrypt 비용 인자이 비용에서 bcrypt 시간 (ms)
30.46875
63.75
930
12240
151,920
1815,360
24983,040

결과 해석

최대 접속 시간대에도 로그인 서버가 감당할 수 있는 가장 높은 비용을 고르는 것이 원칙입니다. 로그인 한 번에 해시 한 번이므로 240 ms라면 코어 하나가 처리할 수 있는 로그인 수가 그만큼 줄고, 공격자 역시 코어 하나로 1초에 약 4번밖에 시도하지 못합니다. OWASP는 Argon2id를 우선 권하고, bcrypt는 비용 10 이상, PBKDF2-HMAC-SHA256은 60만 회 이상을 권장합니다.

흔한 실수

주의: 시간 계산은 추정치이며 하드웨어, 부하, 라이브러리에 따라 달라집니다. 실제 서비스에는 최신 OWASP 지침과 조직의 보안 정책을 따르고, 설계에 대한 전문가 검토를 받으시기 바랍니다.

자주 묻는 질문

bcrypt 비용은 얼마로 해야 하나요?

OWASP 기준 최소 10이며, 내 하드웨어에서 응답 시간을 재어 감당할 수 있는 가장 높은 값을 고르시면 됩니다.

PBKDF2는 아직 써도 되나요?

네. FIPS 환경에서도 쓸 수 있고 지원이 넓지만, 메모리를 많이 쓰지 않으므로 반복 횟수를 충분히 높여야 합니다.

bcrypt에 솔트를 따로 넣어야 하나요?

bcrypt는 128비트 무작위 솔트를 자동으로 만들어 해시 문자열 안에 함께 저장합니다.

출처: OWASP Password Storage Cheat Sheet · N. Provos, D. Mazières, "A Future-Adaptable Password Scheme", USENIX Annual Technical Conference, 1999 · RFC 8018, PKCS #5: Password-Based Cryptography Specification Version 2.1 (PBKDF2)

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →