> 생성 | 보안 | 보호 <
// 암호화적으로 안전한 비밀번호를 즉시 생성
암호화 랜덤
crypto.getRandomValues()를 사용한 진정한 암호화 랜덤.
완전 사용자 정의
길이, 문자 세트, 모호한 문자 제외를 선택하세요.
대량 생성
한 번에 최대 20개의 비밀번호 생성.
// 비밀번호 생성에 대해
작동 방식:
이 생성기는 Web Crypto API의 crypto.getRandomValues() 메서드(CSPRNG)를 사용합니다. 각 문자는 암호화적으로 랜덤한 32비트 부호 없는 정수를 사용하여 선택됩니다.
예시:
Kj9#mP2$xR7!nQ4&
생성기를 사용하는 이유:
- >crypto.getRandomValues() API를 통한 CSPRNG
- >엔트로피 계산이 실제 강도 표시
- >모든 정책에 맞는 구성 가능한 문자 풀
- >프로비저닝 워크플로우용 대량 생성
- >100% 클라이언트 측 — 비밀번호가 브라우저를 떠나지 않음
>> 자주 묻는 질문
Q: 완 비밀번호 생성기를 사용해야 하나요?
A: 인간은 랜덤한 비밀번호를 만드는 데 서툴러요. 암호화 생성기는 진정으로 랜덤한 고엔트로피 비밀번호를 생성합니다.
Q: 이 비밀번호는 안전한가요?
A: 매우 안전합니다. crypto.getRandomValues()를 사용하며 비밀번호는 디바이스에서만 생성됩니다.
Q: 비밀번호 엔트로피란 무엇인가요?
A: 엔트로피는 비밀번호 강도를 비트로 측정합니다. log2(풀_크기^길이)로 계산됩니다. 80+비트가 강력합니다.
Q: 권장 비밀번호 길이는?
A: 대부분의 계정에는 16자 이상. 높은 보안에는 20-32자.
Q: 암호문구 vs 랜덤 비밀번호?
A: 둘 다 안전할 수 있습니다. 랜덤 비밀번호는 짧지만 기억하기 어렵습니다.
// 길이별 엔트로피(비트)
| 길이 | 영문 + 숫자 (62) | 인쇄 가능한 모든 문자 (94) |
|---|---|---|
| 8 | 47.6 | 52.4 |
| 12 | 71.5 | 78.7 |
| 16 | 95.3 | 104.9 |
| 20 | 119.1 | 131.1 |
// 터미널에서 비밀번호 생성
openssl openssl rand -base64 18
Linux tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 20
Python secrets.token_urlsafe(16)
Node.js crypto.randomBytes(16).toString('base64url')
Browser crypto.getRandomValues(new Uint32Array(8))
entropy (bits) = length x log2(alphabet size)
>> 더 많은 질문
Q: 긴 비밀번호가 짧고 복잡한 것보다 좋은가요?
A: 대체로 그렇습니다. 문자가 하나 늘 때마다 엔트로피가 log2(문자 집합 크기) 비트 증가합니다. 영문+숫자 16자(약 95비트)는 기호가 들어간 8자(약 52비트)보다 훨씬 강합니다.
Q: 생성된 비밀번호를 재사용해도 되나요?
A: 안 됩니다. 계정마다 다른 비밀번호를 쓰고 비밀번호 관리자에 저장하세요. 재사용하면 한 번의 유출이 모든 계정의 침해로 이어집니다.
Q: 비밀번호에 Math.random()을 쓰면 안 되는 이유는?
A: Math.random()은 예측 가능하며 보안용이 아닙니다. 이 생성기는 브라우저의 암호학적으로 안전한 난수 crypto.getRandomValues()를 사용하며, 로컬에서 동작하고 전송하지 않습니다.