예시
옵션
길이: 16 대문자·소문자·숫자·기호: 모두 on 개수: 5
출력 (5개)
kP9$mNxL2#vQ8wRt B7@nFcZj5!hMqXyP T3Hd&bGw9eVuKsRn A8qN!fEc4uYmWxLp J6$kPwHt7@bVnRdM
참고
`crypto.getRandomValues` 기반 — 일반 `Math.random` 과 달리 암호학적으로 안전한 난수. 클립보드 복사 시에도 메모리 외에는 흔적 없음.
사용법 / 자주 묻는 질문
이런 경우 사용하세요
- 강력한 임시 비밀번호 빠르게 생성
- API 키 · 시드 phrase · DB credential 생성
- 1Password · Bitwarden 없을 때 임시 강력 비번 만들기
- 테스트 계정용 일회성 비밀번호
- 쉽게 외울 수 있는 passphrase 가 아닌 강력 random 필요할 때
자주 묻는 질문
- Q.Math.random 대신 무엇을 쓰나요?
- A.Web Crypto API 의 `crypto.getRandomValues` — 운영체제의 CSPRNG (암호학적으로 안전한 난수 생성기)에서 직접 받습니다. Math.random 은 예측 가능해 비밀번호 생성에 부적합.
- Q.생성된 비번이 서버에 저장되나요?
- A.아닙니다. 모든 처리는 브라우저에서만. 페이지 새로고침 시 메모리에서도 사라집니다 — 즉시 안전한 저장소(1Password 등)로 옮기세요.
- Q.헷갈리는 문자(0/O, l/1)는 제외할 수 있나요?
- A.옵션으로 지원합니다 (있다면). 단, 제외하면 entropy 가 살짝 줄어드니 길이를 +1~2 정도 보완하세요.
재미있는 사실
NIST 는 2017년 SP 800-63B 개정에서 '복잡성 강제 규칙은 약한 비밀번호로 이어진다' 고 공식 입장을 뒤집었습니다. '대문자·특수문자 1개 이상' 같은 규칙은 사람이 `Password1!` 같은 패턴으로 우회하게 만들어 오히려 entropy 를 줄이거든요. 길이 우선·만료 강제 폐지가 현재 권고입니다.
NIST SP 800-63BXKCD #936 (2011) 의 'correct horse battery staple' 은 4 단어 passphrase 가 `Tr0ub4dor&3` 보다 더 강하고 기억하기도 쉽다는 점을 시각화해 단번에 보안 업계 standard 가 됐습니다. 같은 entropy 라도 사람 친화적인 분포가 실전에서 이긴다는 메시지.
XKCD #93616자 fully random(charset 94)는 entropy 약 96 bits — 현재 지구의 모든 컴퓨터를 합쳐도 우주 끝까지 brute force 가 불가능한 영역입니다. 반대로 8자는 single high-end GPU 가 SHA-256 기준 몇 시간 단위. 길이 8자 증가가 차원이 다른 안전을 만듭니다.
Wikipedia — Password strength
관련 도구
- Base64 인코딩 / 디코딩
텍스트를 Base64로 인코딩하거나 디코딩합니다. 브라우저에서 즉시 실행되며 서버로 데이터가 전송되지 않습니다.
- URL 인코딩 / 디코딩
URL에 사용할 수 있도록 텍스트를 퍼센트 인코딩하거나 인코딩된 URL을 디코딩합니다. 브라우저에서 즉시 실행됩니다.
- UUID / ULID 생성기
UUID v4(랜덤) · UUID v7(시간 순서, RFC 9562) · ULID를 브라우저에서 생성합니다.
- JWT 디코더
JWT(JSON Web Token)의 header와 payload를 디코딩하여 표시합니다. 서명 검증은 수행하지 않으며(공개키 필요), 토큰은 브라우저에서만 처리됩니다.
- JWT 생성기 (HMAC)
HS256/HS384/HS512(HMAC-SHA) 알고리즘으로 서명된 JWT를 생성합니다. payload·secret 모두 브라우저에서만 처리 — Web Crypto API 기반.
- SHA 해시
텍스트의 SHA-1·SHA-256·SHA-384·SHA-512 해시를 계산합니다. 브라우저의 Web Crypto API를 사용하며 데이터가 서버로 전송되지 않습니다.
- Hex 인코딩 / 디코딩
텍스트를 16진수로 인코딩하거나 디코딩합니다. UTF-8을 자동 처리하며 공백을 무시합니다.
- HTML 엔티티 인코딩 / 디코딩
HTML 특수 문자(&, <, >, ", ')를 엔티티로 인코딩하거나, 이름/숫자 엔티티를 텍스트로 디코딩합니다.
- 진수 변환기
BigInt 기반으로 큰 정수까지 2/8/10/16/36진수 변환. 0b/0o/0x 자동 감지.
- URL 파서
URL을 프로토콜·호스트·경로·쿼리·해시로 분해해 한눈에 보여줍니다 (읽기 전용).
- HMAC 생성기
Web Crypto API로 SHA-1/256/384/512 HMAC을 계산합니다. 서명·검증 키 기반.
- HMAC 검증기
주어진 HMAC 서명이 message + secret 으로 만든 값과 일치하는지 검증합니다. Web Crypto API + constant-time 비교.
- MD5 해시
텍스트의 MD5 해시를 계산합니다. 주의: MD5는 보안용으로 부적합 — 체크섬·레거시 호환에만 사용.
- Punycode (국제화 도메인)
한글·다국어 도메인을 Punycode(xn-- ASCII)로 상호 변환합니다. 브라우저 native URL 사용.
- HTTP 상태 코드
HTTP 상태 코드(1xx-5xx)를 검색·탐색합니다. 설명과 일반 사용 사례 포함.
- User-Agent 파서
User-Agent 문자열을 브라우저·OS·기기·엔진별로 분해합니다.
- Bcrypt 해시
Bcrypt로 비밀번호를 해시하거나 기존 해시와 평문을 검증합니다. salt rounds 조정 가능.
- 쿠키 파서
Cookie 또는 Set-Cookie 문자열을 표로 분해합니다. percent-encoded 값 복원 + Set-Cookie 속성(Path/Domain/Max-Age/SameSite/HttpOnly/Secure) 인식.
- IP / CIDR 계산기
IPv4 주소와 CIDR로 네트워크 주소·브로드캐스트·호스트 범위·서브넷 마스크·호스트 수를 계산합니다.
- cURL 빌더
URL·method·헤더·본문으로 cURL 명령을 만듭니다. JSON content-type 자동.