파일 업로드
  1. base64hub
  2. 키와 해시
  3. 랜덤 Base64 생성기

랜덤 Base64 생성기

랜덤 바이트 수와 출력 형식을 고르면 토큰, 솔트, ID, 테스트 데이터에 쓸 안전한 랜덤 문자열이 만들어집니다. 값은 브라우저의 암호학적 생성기에서 나오며 저장되지 않습니다.

무료 가입 없음, 제한 없음 로컬 업로드 없음 대량 생성 한 번에 최대 1000개 업데이트 2026. 10. 27.

엔트로피 –길이 –

브라우저의 암호학적으로 안전한 생성기인 crypto.getRandomValues로 생성합니다. 아무것도 저장하거나 전송하지 않습니다.

브라우저에서 처리됩니다. 이 페이지는 데이터를 어디로도 보낼 수 없습니다 – 확인 방법

랜덤 Base64를 생성하는 방법

  1. 바이트를 필요한 랜덤 양에 맞게 1~4096 사이로 설정하세요. 기본값 32바이트는 256비트입니다.
  2. 형식을 고르세요. Base64, Base64URL(URL-safe, 패딩 없음), hex 중 하나입니다. Base64에서는 패딩 없음 (=) 도 켤 수 있습니다.
  3. 여러 값을 한 번에 만들려면 개수를 최대 1000까지 설정하세요. 한 줄에 하나씩 출력됩니다.
  4. 출력을 복사하거나 텍스트 파일로 다운로드하거나, 새로 생성을 눌러 새 값을 받으세요. 출력 아래의 엔트로피와 길이에 랜덤 비트 수와 문자 수가 표시됩니다.

Laravel APP_KEY나 AES-256 키처럼 특정 형식의 키가 필요하면 맨 위의 프리셋 중 하나를 쓰세요. 각 프리셋은 Base64 키 생성기에서 설명합니다.

출력 길이

랜덤성은 바이트에 있고, 형식은 그것을 어떻게 쓸지만 정합니다. Base64는 문자 하나에 6비트, hex는 4비트만 담으므로 같은 강도라면 hex가 항상 더 깁니다.

바이트비트Base64Base64, 패딩 없음Base64URLHex
86412111116
1612824222232
2419232323248
3225644434364
4838464646496
64512888686128

3으로 나누어떨어지는 바이트 수(24, 48)는 =가 전혀 생기지 않으므로 패딩 있는 열과 없는 열이 같습니다. 값을 URL, 파일 이름, 쿠키에 넣는다면 Base64URL을 쓰세요. 그런 곳에서는 +와 /를 이스케이프해야 하기 때문입니다.

몇 바이트를 써야 할까

  • 고유 ID, 요청 ID, 업로드 파일 이름: 16바이트(128비트). 추측하거나 충돌할 걱정은 현실적으로 없습니다.
  • 세션 토큰, API 토큰, 비밀번호 재설정 링크: 32바이트. 여유를 더 두는 대가는 약 20자입니다.
  • 비밀번호 해싱용 솔트: 보통 16바이트를 권장합니다. 솔트는 비밀일 필요가 없고 고유하기만 하면 됩니다.
  • 테스트 픽스처: 크기는 상관없으며, 개수로 한 번에 값 1000개를 채울 수 있습니다.

랜덤 문자열의 강도는 바이트 수만큼입니다. 필드에 맞추려고 44자 값을 20자로 자르면 엔트로피의 절반 이상을 버리게 됩니다. 그럴 때는 바이트 수를 줄이고 출력 전체를 그대로 쓰세요.

터미널과 코드에서 같은 작업

아래는 모두 랜덤 32바이트를 Base64로 출력합니다(secrets.token_urlsafe는 패딩 없는 URL-safe 알파벳).

openssl rand -base64 32
head -c 32 /dev/urandom | base64
import base64, secrets

print(base64.b64encode(secrets.token_bytes(32)).decode())
print(secrets.token_urlsafe(32))

Node.js에서는 crypto.randomBytes(32).toString("base64url")이 URL-safe 형식을 줍니다. OpenSSL에는 함정이 하나 있습니다. 48바이트를 넘으면 openssl rand -base64가 출력을 64자에서 줄 바꿈하므로 64바이트 값은 두 줄로 나옵니다. 한 줄로 받으려면 openssl rand 64 | openssl base64 -A를 쓰거나, 설정 파일에 넣기 전에 줄 바꿈을 지우세요. 더 많은 예시는 OpenSSL과 Python 페이지에 있습니다.

자주 묻는 질문

이 랜덤 생성기는 비밀번호와 토큰에 쓸 만큼 안전한가요?

네. 브라우저의 암호학적으로 안전한 난수 생성기인 crypto.getRandomValues를 사용합니다. 비밀이 필요한 곳에는 Math.random()을 쓰지 마세요. 예측할 수 없도록 설계된 함수가 아닙니다.

정확히 N자인 랜덤 Base64 문자열은 어떻게 만드나요?

N × 3 ÷ 4바이트를 고르세요. 바이트 수가 3으로 나누어떨어지면 패딩이 없으므로 33바이트는 정확히 44자, 48바이트는 64자가 됩니다. 그렇지 않으면 패딩 없음 (=) 을 켜세요. 길이는 ⌈4 × 바이트 ÷ 3⌉입니다.

생성된 값이 서로 같을 수도 있나요?

이론상으로는 가능하지만 16바이트(128비트) 이상이면 확률은 무시할 만합니다. 충돌 가능성이 높아지려면 약 2^64개의 값이 필요합니다. 그래서 고유 랜덤 ID에는 흔히 16바이트를 최솟값으로 씁니다.

값이 어딘가에 저장되나요?

아니요. 복사하거나 다운로드하기 전까지 이 탭의 메모리에만 있고, 페이지는 Cloudflare 조회수 집계 외에는 네트워크 요청을 할 수 없습니다. 페이지를 새로 고치면 사라집니다.