비밀번호 해시 생성기
Bcrypt, Scrypt 및 Argon2 알고리즘을 사용하여 안전한 비밀번호 해시를 생성하고 검증합니다
Bcrypt 옵션
값이 높을수록 더 안전하지만 시간이 오래 걸립니다. 권장: 10-12
결과
비밀번호 해싱 정보
비밀번호 해싱은 사용자 비밀번호를 고정 길이의 문자열로 변환하는 단방향 암호화 기술입니다. 일반 해시와 달리 비밀번호 해시 알고리즘은 무차별 대입 공격 및 레인보우 테이블 공격에 저항하도록 특별히 설계되었습니다.
중요: 평문 비밀번호를 저장하지 마세요! 항상 비밀번호 해시 알고리즘(Bcrypt, Scrypt 또는 Argon2)을 사용하여 사용자 비밀번호를 저장하세요. 이러한 알고리즘은 레인보우 테이블 공격을 효과적으로 방지하기 위한 솔트 생성 기능이 내장되어 있습니다.
알고리즘 비교
| 알고리즘 | 연도 | 메모리 사용량 | GPU 저항 | 권장 |
|---|---|---|---|---|
| Bcrypt | 1999 | 4KB | 보통 | 예 |
| Scrypt | 2009 | 설정 가능 | 높음 | 예 |
| Argon2 | 2015 | 설정 가능 | 매우 높음 | 최선의 선택 |
Bcrypt 정보
Bcrypt는 1999년 Niels Provos와 David Mazières가 설계한 Blowfish 암호 기반의 적응형 비밀번호 해시 함수입니다. 하드웨어 성능이 향상됨에 따라 증가할 수 있는 비용 인자를 포함하여 크래킹에 대한 저항을 유지합니다. Bcrypt는 최대 72바이트의 비밀번호를 지원하며 $2a$, $2b$ 또는 $2y$ 접두사가 있는 60자 해시를 생성합니다.
Scrypt 정보
Scrypt는 2009년 Colin Percival이 설계한 비밀번호 파생 함수로, 계산에 상당한 메모리가 필요한 메모리 집약적 알고리즘으로 특별히 설계되어 ASIC 및 GPU 병렬 공격에 효과적으로 저항합니다. Scrypt는 암호화폐(예: Litecoin) 및 비밀번호 저장에 널리 사용됩니다. 매개변수 N, r, p는 CPU 및 메모리 비용을 조정할 수 있습니다.
Argon2 정보
Argon2는 2015년 비밀번호 해싱 대회의 우승자이며 현재 사용 가능한 가장 안전한 비밀번호 해시 알고리즘으로 간주됩니다. 세 가지 변형이 있습니다: Argon2d(GPU 저항), Argon2i(사이드 채널 저항) 및 Argon2id(둘 다 결합, 비밀번호 해싱에 권장). Argon2는 메모리, 반복 횟수 및 병렬 처리 매개변수를 구성할 수 있습니다.
비밀번호 저장 모범 사례
- Argon2id를 첫 번째 선택으로 사용하고, 사용할 수 없는 경우 Bcrypt 사용
- 평문 비밀번호를 저장하거나 비밀번호 해싱에 MD5/SHA를 사용하지 마세요
- 충분히 높은 비용 인자 사용(Bcrypt ≥10, Argon2 메모리 ≥64MB)
- 하드웨어 발전에 맞춰 해시 알고리즘 및 매개변수를 정기적으로 업데이트
- 사용자가 강력한 비밀번호를 사용하도록 요구하는 비밀번호 정책 구현