bcrypt·argon2 검증
bcrypt & argon2 Checker
bcrypt로 비밀번호를 원하는 코스트로 해시하고, 기존 bcrypt 해시와 대조합니다. argon2는 인식하지만 계산하지는 않습니다.
비밀번호를 bcrypt로 해싱하거나, 기존 `$2a$`·`$2b$`·`$2y$` 해시와 대조합니다. 구현은 OpenBSD의 `$2b$`이고 공개된 Openwall crypt_blowfish 벡터로 검증했으며, 이 탭의 워커에서 돕니다.
이 탭에서만 처리합니다. 어디로도 보내지 않습니다.
1,024라운드 — 오랫동안 쓰인 기본값.
$2b$ 그대로의 bcrypt입니다. 공개된 Openwall crypt_blowfish 테스트 벡터로 검증했고, 전부 이 탭에서 돕니다. 비밀번호는 앞의 72바이트만 반영됩니다. 여기 버그가 아니라 bcrypt가 그렇습니다. $2x$ 해시(2011년 이전 crypt_blowfish 버그로 만들어진 것)는 거절하고, argon2는 구현하지 않았습니다.사용 방법
해싱과 대조 중에 고릅니다
해싱에는 비용을 정해야 하고, 대조할 때는 붙여넣은 해시에서 비용을 읽습니다. 문자열 안에 들어 있기 때문입니다.
감당할 수 있는 비용을 고릅니다
한 단계마다 일이 두 배가 됩니다. 10이 오랫동안 기본값이었고, 12가 지금 무난한 선택이고, 14는 브라우저에서 몇 초가 눈에 띄게 걸립니다. 그게 목적입니다. 공격자에게도 그만큼 걸립니다.
판정을 읽습니다
일치인지 아닌지가 나옵니다. 전부 탭 안에서 일어나므로, 운영에서 가져온 해시를 붙여넣어도 어디로 가지 않습니다.
자주 묻는 질문
argon2는 왜 지원하지 않고 거절하나요?
브라우저에서 믿을 만한 argon2를 쓰려면 이 프로젝트가 한 줄씩 감사할 수 없는 WebAssembly 빌드를 함께 배포해야 하기 때문입니다. bcrypt는 읽을 수 있는 코드로 여기 구현돼 있고 공개된 벡터로 대조했습니다. 블랙박스에서 나온 그럴듯한 답보다 argon2 해시를 거절하는 쪽이 솔직합니다.
긴 비밀번호가 왜 엉뚱한 해시에도 맞나요?
bcrypt는 앞의 72바이트만 읽습니다. 앞 72바이트가 같은 두 비밀번호는 bcrypt에게 같은 비밀번호입니다. 이 구현이 아니라 bcrypt가 그렇습니다. 긴 암호구를 쓸 때 문제가 되고, 사람들이 argon2로 옮기는 이유 중 하나입니다.
같은 비밀번호를 두 번 해싱하면 왜 다른 문자열이 나오나요?
돌릴 때마다 16바이트 솔트를 새로 뽑고, 그 솔트가 해시 안에 함께 들어가기 때문입니다. 두 문자열 모두 같은 비밀번호를 검증합니다. 매번 같은 값이 나오는 비밀번호 해시는 솔트가 없는 해시이고, 레인보 테이블이 노린 것이 바로 그것입니다.
$2a$, $2b$, $2y$는 다른가요?
72바이트 이하 비밀번호에서는 다르지 않고, 실제로는 전부 그 범위입니다. 접두사는 그 해시가 어느 역사적 버그 이전에 만들어졌는지 이후인지를 기록할 뿐입니다. 예외는 `$2x$`인데, 2011년 이전 crypt_blowfish 버그로 만들어진 해시라 여기서는 거절합니다.
이 도구로 이어지는 것
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.
해시 종류 판별
Hash Identifier
길이·문자 구성·접두어로 해시 알고리즘을 가능성 순으로 추정합니다.
htpasswd 생성
.htpasswd Generator
bcrypt·APR1·SHA 방식으로 아파치·nginx 기본 인증 항목을 만듭니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
해시 종류 판별
Hash Identifier
길이·문자 구성·접두어로 해시 알고리즘을 가능성 순으로 추정합니다.
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.
htpasswd 생성
.htpasswd Generator
bcrypt·APR1·SHA 방식으로 아파치·nginx 기본 인증 항목을 만듭니다.
비밀번호 강도 측정
Password Strength Meter
비밀번호를 깨는 데 걸릴 시간을 추정하고 약하게 만드는 패턴을 짚어 줍니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.