WMW

Argon2 해시 생성기

Free

브라우저에서 완전히 Argon2id/Argon2i/Argon2d 비밀번호 해시를 생성 및 검증하며, 메모리 비용, 시간 비용, 병렬성을 조정할 수 있습니다.

WebAssembly를 사용하여 브라우저에서 완전히 실행됩니다. 서버로 아무것도 전송되지 않습니다.

프리셋

최근 활동

모든 사람에게 공개됩니다. 모든 방문자의 최근 20회 사용 내역, 최신순으로 표시됩니다.

아직 활동이 없습니다. 첫 번째가 되어보세요.

댓글 (0)

이 도구가 유용했나요? 댓글을 남기거나 팁을 공유하거나 개선할 점을 알려주세요.

게스트 댓글은 게시 전에 검토됩니다. 로그인 하면 즉시 게시됩니다.

아직 댓글이 없습니다. 첫 번째로 의견을 남겨보세요!

이 도구의 기능

이 도구는 조정 가능한 메모리 비용, 시간 비용, 병렬성, 해시 길이 및 솔트를 사용하여 브라우저에서 완전히 Argon2 비밀번호 해시(Argon2id, Argon2i 또는 Argon2d)를 생성하며, 기존 인코딩된 해시와 비밀번호를 대조하는 내장 검증기도 제공합니다.

작동 방식

Argon2는 2015년 비밀번호 해싱 경진대회에서 우승했으며, 의도적으로 느리고 메모리를 많이 소모하도록 설계되어 있어 많은 비밀번호를 무차별 대입으로 공격하는 것이 시간뿐 아니라 RAM 측면에서도 비용이 많이 들게 만듭니다. 비밀번호, 무작위 솔트, 세 가지 비용 매개변수(메모리 비용: 사용할 RAM 양, 시간 비용: 해당 메모리를 몇 번 통과할지, 병렬성: 동시에 실행되는 독립 레인 수)를 받아 요청된 길이의 해시를 생성합니다. 결과는 표준 인코딩 형식 $argon2id$v=19$m=<KiB 단위 메모리>,t=<반복 횟수>,p=<병렬성>$<솔트>$<해시>로 패키징되며, 이는 자기 기술적입니다. 즉, 나중에 비밀번호를 검증하려면 문자열에서 이러한 매개변수를 다시 읽어들여 동일한 계산을 재실행하고 출력을 비교하기만 하면 됩니다.

해결하는 문제

자주 묻는 질문

어떤 Argon2 변형을 사용해야 하나요?

Argon2id는 대부분의 비밀번호 해싱 사용 사례에 권장되는 기본값으로, 사이드 채널 공격(Argon2i와 같은)과 GPU/ASIC 크래킹 시도(Argon2d와 같은) 모두에 대한 저항성을 결합합니다. 사이드 채널 저항성이 최우선인 경우에만 Argon2i를 사용하고, 암호화폐 채굴처럼 사이드 채널 위협이 없는 애플리케이션에서만 Argon2d를 사용하세요.

해시를 생성하는 데 왜 가끔 몇 초가 걸리나요?

이 지연이 바로 Argon2의 핵심입니다. 의도적으로 메모리를 많이 사용하고 느리게 만들어, 초당 수백만 번의 추측을 시도하는 공격자가 방금 여러분이 해시 하나를 생성하는 데 쓴 것과 동일한 시간과 메모리를 추측마다 소비하도록 만듭니다. "최대"와 같은 상위 프리셋은 더 많은 메모리와 반복을 사용하기 때문에 시간이 더 오래 걸립니다.

인코딩된 해시와 16진수 출력의 차이점은 무엇인가요?

인코딩된 해시는 표준 PHC 문자열 형식($argon2id$v=19$m=...,t=...,p=...$솔트$해시)으로, 알고리즘, 버전, 매개변수, 솔트를 해시와 함께 묶어 자체 완결형이며 나중에 검증에 바로 사용할 수 있습니다. 16진수 출력은 단순한 원시 해시 바이트로, 해시와 그 매개변수를 별도의 데이터베이스 열에 저장해야 할 때 유용합니다.

제 비밀번호가 어딘가로 전송되나요?

아니요. 해시는 WebAssembly를 사용하여 브라우저에서 완전히 계산되며, 여기에 입력한 내용은 어떤 서버로도 전송되지 않습니다.

제 자신의 솔트를 생성해야 하나요, 아니면 무작위 솔트를 사용해야 하나요?

실제 비밀번호 저장에는 무작위 솔트를 사용하세요. 자동 생성되는 16바이트 솔트가 바로 이를 위한 것이며, 페이지를 로드할 때마다 고유합니다. 자체 고정 솔트를 제공하는 것은 테스트하거나 특정 알려진 해시를 재현할 때만 유용합니다.

관련 도구