기능 소개
이 도구는 Nano ID를 생성합니다. 데이터베이스 키, 파일 이름, 짧은 링크 경로, 초대 코드, 테스트 데이터로 쓸 수 있는 짧고 무작위이며 URL에 안전한 식별자입니다. Nano ID 라이브러리와 같은 방법을 쓰므로 코드에서 nanoid()로 만든 ID와 모양과 특성이 같습니다.
길이를 바꾸고, 내장 문자 집합을 고르거나 직접 입력할 수 있으며, 한 번에 최대 1000개를 생성합니다. 옵션 아래에는 ID당 엔트로피와 중복 확률이 1%에 이르기까지 만들 수 있는 대략적인 개수가 표시됩니다.
사용 방법
- 길이를 고릅니다. 21이 Nano ID 기본값입니다.
- 문자 집합을 고릅니다. URL 안전, 영숫자, 소문자와 숫자, 16진수, 숫자, 헷갈리는 문자 제외 또는 사용자 지정입니다.
- 필요한 개수를 고릅니다. 설정을 바꾸면 바로 생성됩니다.
- 생성을 눌러 새 묶음을 만들고, 한 줄에 하나씩 나온 목록을 복사하거나 다운로드합니다.
예시
nanoid 패키지로 JavaScript에서 같은 ID를 만드는 예입니다.
import { nanoid, customAlphabet } from 'nanoid'
nanoid() // "V1StGXR8_Z5jdHi6B-myT"
const orderId = customAlphabet('0123456789ABCDEFGHJKLMNPQRSTUVWXYZ', 12)
orderId() // "4KQ7ZB9XH2MD"
문자 집합 고르기
URL 안전 문자 집합은 문자 하나에 가장 많은 무작위성을 담고, URL·파일 이름·JSON에서 이스케이프가 필요 없습니다. 영숫자는 _와 -를 빼서 더블클릭으로 ID 전체를 선택할 수 있습니다. 16진수와 숫자는 그 문자만 받는 시스템에 유용하지만 같은 강도를 내려면 더 긴 ID가 필요합니다. 헷갈리는 문자 제외 집합은 0과 O, 1·l·I 같은 문자를 빼서 사람이 읽고 입력하기 쉽습니다.
자주 묻는 질문
› Nano ID란 무엇인가요?
Nano ID는 무작위 고유 ID 형식이자 인기 있는 JavaScript 라이브러리입니다. 기본 ID는 64개의 URL 안전 문자(A–Z, a–z, 0–9, _, -)에서 고른 21자로, 126비트의 무작위성을 가집니다. UUID v4의 122비트에 가까운 강도를 훨씬 짧은 문자열로 제공합니다.
› ID 길이는 어느 정도가 좋나요?
만들 ID 개수에 따라 다릅니다. 옵션 아래의 추정치는 몇 개를 만들면 어느 두 개가 같을 확률이 1%가 되는지를 보여 줍니다. 기본값 21자는 사실상 모든 시스템에서 안전합니다. 짧은 링크나 초대 코드는 보통 10~12자면 충분하며, 데이터베이스의 고유성 검사와 함께 쓰세요.
› 보안 용도로 쓸 만큼 무작위인가요?
문자는 브라우저의 암호학적 난수 생성기에서 나오며, 문자 집합 범위를 벗어난 값은 나머지 연산으로 접지 않고 버리므로 모든 문자가 같은 확률로 나옵니다. 충분히 긴 ID는 추측할 수 없는 토큰으로 쓸 수 있습니다. 서버로는 아무것도 전송되지 않습니다.
› 직접 정한 문자를 쓸 수 있나요?
네. "사용자 지정"을 고르고 문자 집합을 입력하세요. 예를 들어 소리 내어 읽는 코드라면 대문자만 쓸 수 있습니다. 서로 다른 문자 2~256개가 필요하며, 중복 문자는 특정 문자가 더 자주 나오게 하므로 거부됩니다.