bcrypt 비용계수(cost) 계산기
bcrypt의 cost(work factor)를 1 올릴 때마다 정확히 2배 느려진다는 관계로 다른 cost의 예상 소요시간을 추정합니다.
서버에서 bcrypt.hash()를 한 번 재서 걸린 시간을 넣으세요. 이 값이 없으면 정확한 예측이 불가능합니다 — 하드웨어마다 속도가 다르기 때문입니다.
cost 12 예상 소요시간
260ms
cost 10 대비 4배
cost별 예상 시간
느린 해시가 막아주는 것 — 전수조사 시간 어림
cost 12로 해싱하며 다 시도하면
43.3분
경우의 수 10,000가지 × 해시 1회 260ms (한 대·직렬 기준)
사용 방법
- 1서버에서 bcrypt.hash()를 한 번 재서 걸린 시간(ms)과 그때 쓴 cost를 넣습니다.
- 2알고 싶은 cost를 고르면 예상 소요시간이 나옵니다.
- 3전수조사 어림 섹션에서 그 cost가 브루트포스를 얼마나 늦추는지 감을 잡습니다.
자주 묻는 질문
bcrypt는 내부적으로 Blowfish 키 스케줄을 2^cost번 되풀이하도록 정의돼 있습니다. cost가 10이면 2^10=1024번, 11이면 2^11=2048번으로 정확히 2배입니다. 이 배율 관계는 하드웨어와 무관하게 항상 성립하는 알고리즘 정의 자체입니다.
cost=X가 실제로 몇 ms 걸리는지는 CPU 성능·bcrypt 구현체·서버 부하에 따라 크게 달라 절대 기준값이 없기 때문입니다. 그래서 이 도구는 여러분이 자신의 서버에서 한 번 측정한 기준값을 입력받아, 2배 관계만으로 다른 cost의 시간을 상대적으로 추정합니다.
OWASP Password Storage Cheat Sheet는 "work factor는 10 이상, 서버 성능이 허락하는 한 크게"를 공식 권고로 제시합니다(2026-09-02 확인). 로그인 한 번에 100~300ms 안팎이 걸리는 선에서 서버가 버틸 수 있는 가장 큰 cost를 고르는 것이 일반적인 접근입니다. 다만 이 목표 시간대 자체는 관행이지 표준 수치는 아닙니다.
이 계산기의 값은 "한 대의 컴퓨터로, 하나씩 순서대로" 시도한다고 가정한 상한선입니다. 실제 공격자는 여러 대나 GPU로 병렬화해 훨씬 빠르게 시도할 수 있습니다. 다만 cost를 올리면 병렬화한 공격의 비용도 같은 배율로 늘어나므로, cost는 방어자와 공격자의 계산 비용을 함께 밀어 올리는 손잡이라는 점은 변하지 않습니다.
이 도구는 bcrypt의 cost 관계만 다룹니다. Argon2·scrypt 같은 최신 알고리즘은 메모리 사용량까지 조절할 수 있어 GPU 병렬 공격에 더 강하다고 알려져 있지만, bcrypt도 여전히 OWASP가 인정하는 선택지 중 하나입니다. 알고리즘 자체의 선택은 이 계산기의 범위 밖입니다.
알아두면 좋은 점
- cost 1당 정확히 2배라는 관계는 bcrypt 정의 자체입니다. 절대 시간(ms)은 여러분이 입력한 기준값에서 추정한 상대값입니다.
- OWASP 최소 권고(cost 10 이상)는 Password Storage Cheat Sheet 기준입니다(2026-09-02 확인). 시간이 지나면 권고가 바뀔 수 있습니다.
- 전수조사 시간은 한 대·직렬 기준 상한선입니다. 실제 공격 시간의 추정치가 아닙니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.