비밀번호 세기·16진수 16
16진수 · 16
64
bit · 10^19.3

16진수 16자 — 64비트

한 글자가 4비트를 담아 전체 64비트이고, 경우의 수는 10의 19.3제곱입니다. 아스키 94자로 같은 세기를 내려면 9.8글자가 필요합니다.

길이
16
집합 크기
16
한 글자가 담는 비트
4 bit
전체 비트
64 bit
경우의 수
10^19.3
아스키로 바꾸면
9.8

사이트가 어떻게 저장했느냐

  • NTLM (윈도 암호)1년
  • MD51.8년
  • SHA-25613.3년
  • WPA2 와이파이115371.7년
  • bcrypt10^6.2년

같은 비밀번호라도 저장 방식에 따라 답이 백만 배 넘게 갈립니다. RTX 4090 한 장이 NTLM은 초당 2,885억 번, MD5는 1,641억 번 두드리지만 bcrypt는 18만 4천 번뿐입니다. 일부러 느리게 만든 방식이기 때문입니다. 그래서 기호를 포함한 아스키 여덟 글자가 NTLM으로 저장된 곳에서는 세 시간이 안 되고, bcrypt로 저장된 곳에서는 500년이 넘습니다 — 그리고 어느 쪽인지는 쓰는 사람이 고를 수 없습니다.

이 표가 세는 것과 세지 않는 것

여기 적힌 시간은 **무작위로 고른 비밀번호**를 처음부터 끝까지 훑을 때의 값입니다. 사람이 지은 비밀번호는 그만큼 못 버팁니다 — 사전에 있는 낱말, 자판 순서, 생일, 뒤에 붙인 !와 1은 공격하는 쪽이 먼저 시도합니다. "P@ssw0rd!"는 아스키 9자로 세면 59비트지만 실제로는 몇 초입니다. 반대로 카드가 여러 장이면 시간은 장수만큼 나뉩니다.

가까운 길이

같은 집합, 다른 길이

같은 길이, 다른 집합

가장 흔한 사고는 뚫린 게 아닙니다

한 곳에서 새어 나간 비밀번호를 다른 곳에 그대로 넣어 보는 것이 훨씬 흔합니다. 몇 년이 걸릴 비밀번호라도 두 곳에 같이 쓰면 약한 쪽이 뚫린 날 함께 무너집니다. 길이를 늘리는 것보다 **다시 쓰지 않는 것**과 2단계 인증이 먼저입니다.

읽는 방법

  • 한 글자가 담는 비트 = log2(집합 크기). 전체는 여기에 길이를 곱합니다.
  • 뚫는 시간 = 경우의 수의 절반 ÷ 초당 시도 횟수.
  • 속도는 hashcat을 RTX 4090 한 장에서 돌린 공개 측정값입니다.
  • 무작위 비밀번호를 전제한 값입니다. 사람이 지은 것은 훨씬 빨리 뚫립니다.

자주 묻는 질문

Q. 16진수 16자는 몇 비트인가요?

64비트입니다. 한 글자가 4비트를 담고 여기에 16을 곱한 값입니다.

Q. 경우의 수는 얼마인가요?

10의 19.3제곱입니다. 16을 16번 곱한 값입니다.

Q. 아스키로 바꾸면 몇 자에 해당하나요?

9.8자입니다. 기호를 포함한 아스키 94자 기준입니다.

Q. 뚫는 데 얼마나 걸리나요?

저장 방식이 답을 바꿉니다. RTX 4090 한 장이 NTLM은 초당 2,885억 번, bcrypt는 18만 4천 번 두드리므로 시간이 백만 배 넘게 갈립니다.