UTILS.
100% 브라우저 내 실행
🛡️

Argon2 비밀번호 해시 생성기 & 검증기

메모리, 반복, 병렬성을 설정해 Argon2id/i/d 비밀번호 해시를 계산하거나, PHC 인코딩된 해시와 대조해 비밀번호를 검증하세요. 클라이언트 측 실행.

비밀번호는 100% 브라우저에서 해시됩니다 — 아무것도 업로드되지 않습니다.

— 여기에 결과가 표시됩니다 —

이 도구에 대하여

Argon2 비밀번호 해시 생성기 & 검증기는 Argon2 해시를 전적으로 브라우저에서 계산하고 확인합니다. Argon2는 2015년 Password Hashing Competition에서 우승했으며 RFC 9106으로 표준화되었습니다. bcrypt와 달리 메모리 하드(memory-hard)하여 그 비용이 RAM 사용량에 지배되므로 GPU와 ASIC 크래킹 장비를 무력화합니다. 생성 모드는 crypto.getRandomValues에서 16바이트의 무작위 솔트를 뽑고 선택한 변형을 사용자 파라미터로 실행합니다: t 반복(시간 비용), m 메모리(KiB), p 병렬성(레인), 그리고 출력 해시 길이(바이트).

세 가지 변형이 제공됩니다. Argon2id(기본값이자 RFC 권장 선택)는 부채널과 시간-메모리 트레이드오프 공격 모두에 저항하는 하이브리드입니다. Argon2i는 부채널 누출에 최적화되어 있고, Argon2d는 GPU 크래킹 저항을 극대화하지만 부채널 안전하지 않습니다. 결과는 $argon2id$v=19$m=65536,t=3,p=1$<base64 salt>$<base64 hash> 형식의 자기 기술적 PHC 문자열이므로, 검증에 필요한 모든 파라미터가 해시 안에 담깁니다. 기본값(t=3, m=65536 KiB = 64 MiB, p=1)은 RFC 9106의 두 번째 권장 프로필을 따릅니다.

작업이 브라우저의 엄격한 보안 정책 아래 eval 없는 WebAssembly 빌드로 실행되므로 메모리가 페이지 내에서 할당됩니다: 매우 높은 m 값은 RAM 집약적이고 휴대폰에서 느릴 수 있으므로 도구는 256 MiB를 초과하면 경고합니다. 검증 모드는 인코딩된 해시에서 변형, 버전, m/t/p, 솔트, 다이제스트를 파싱하고, 후보 비밀번호로 재계산해 일치 또는 불일치를 보고합니다. 비밀번호는 100% 브라우저에서 해시되며 아무것도 업로드되지 않습니다.

자주 묻는 질문

어떤 Argon2 변형을 사용해야 하나요?
Argon2id는 기본값이자 비밀번호 해싱에 대한 RFC 9106 권장 사항입니다 — Argon2i의 부채널 저항과 Argon2d의 GPU 크래킹 저항을 결합합니다. 데이터 독립적 메모리 접근이 특별히 필요할 때만 Argon2i를, 부채널 위험이 없는 환경에서만 Argon2d를 사용하세요.
메모리, 반복, 병렬성 설정은 무엇을 하나요?
메모리(m, KiB)는 해시가 채우는 RAM으로 주요 비용 요인입니다. 반복(t)은 그 메모리를 몇 번 통과하는지입니다. 병렬성(p)은 동시에 계산되는 레인 수입니다. 높은 m과 t는 더 강하고 느린 해시를 의미하며, 기본값은 m=65536(64 MiB), t=3, p=1입니다.
높은 메모리 설정이 느리거나 응답 없는 이유는 무엇인가요?
Argon2는 요청한 메모리를 브라우저에서 실제로 할당하므로 1 GiB(1048576 KiB) 같은 값은 저RAM 기기에서 멈추거나 실패할 수 있습니다. 도구는 256 MiB를 초과하면 경고합니다. 생성이 멈추면 m을 줄이세요. 어느 쪽이든 파라미터는 해시에 저장됩니다.
해시에 검증에 필요한 모든 것이 담기나요?
네. PHC 인코딩된 출력에는 변형, 버전, m/t/p 파라미터, 솔트, 다이제스트가 내장되므로 검증에는 비밀번호와 그 하나의 문자열만 필요합니다. 아무것도 전송되지 않습니다 — 해싱과 검증 모두 WebAssembly를 통해 로컬로 실행됩니다.

더 많은 도구