ตั้งแต่ปี 2010 · รองรับการใช้งานเครื่องมือกว่า 2 ล้านครั้งต่อเดือน
ตั้งแต่ปี 2010
เพิ่มใน Chrome

กล่องเครื่องมือของฉัน

โหมดอัตโนมัติ

ยังไม่มีเครื่องมือที่บันทึกไว้

อัปเกรดเป็นเวอร์ชันพรีเมียม
เครื่องมือที่เกี่ยวข้อง
ตัวสร้าง URL Slugตัวสร้างคีย์ WPAเครื่องกำเนิดคีย์ DjangoWordPress โปรแกรมสร้างคีย์ความปลอดภัย
หน้าแรก > การสุ่ม
 

ตัวสร้าง NanoID แบบสุ่ม

ตัวสร้าง NanoID สุ่มของ MiniWebtool สร้างตัวระบุขนาดกะทัดรัดด้วยชุดอักขระที่เลือก คำนำหน้าเพิ่มเติม และความยาวตั้งแต่ 8 ถึง 64 อักขระ ตรวจดูชุด ID พร้อมค่าประมาณความน่าจะเป็นที่ชนกัน

ไม่แน่ใจว่าใช้อย่างไร? ถาม AI

เมื่อใช้ Gemini ให้วางคำถามที่คัดลอกลงในแชต คุณคัดลอกคำถามด้านล่างได้เช่นกัน

ดูคำถาม

ใช้งานฟรีไม่ต้องสมัครสมาชิกผลลัพธ์ทันที
ตัวสร้าง NanoID แบบสุ่มลองใช้เลย — ฟรี ▼
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-
64 ตัวอักษรที่ไม่ซ้ำกัน
คำนำหน้าทางเลือกที่เพิ่มก่อนแต่ละ ID (เช่น "usr_", "doc_", "tx-")

Embed ตัวสร้าง NanoID แบบสุ่ม Widget

เกี่ยวกับ ตัวสร้าง NanoID แบบสุ่ม

ยินดีต้อนรับสู่ ตัวสร้าง NanoID แบบสุ่ม เครื่องมือออนไลน์ที่ทรงพลังสำหรับการสร้างตัวระบุสตริงที่ไม่ซ้ำกัน ปลอดภัย และเป็นมิตรกับ URL NanoID เป็นทางเลือกที่ทันสมัยและน้ำหนักเบาแทน UUID (Universally Unique Identifiers) โดยให้ ID ที่สั้นกว่าพร้อมความทนทานต่อการชนกันที่เทียบเท่ากัน ไม่ว่าคุณจะสร้าง API ฐานข้อมูล ตัวย่อ URL หรือระบบกระจายตัว ตัวสร้างนี้จะให้ ID ที่ปลอดภัยในระดับการเข้ารหัสพร้อมชุดตัวอักษรที่ปรับแต่งได้ ความยาวที่ปรับได้ และการวิเคราะห์โอกาสในการเกิดการชนกันแบบเรียลไทม์

สรุปภาพรวม

ตัวสร้าง NanoID แบบสุ่มสร้าง ID แบบสุ่มที่กระชับและใช้ใน URL ได้ โดยเลือกชุดอักขระ ความยาว 8 ถึง 64 ตัว และคำนำหน้าเสริม พร้อมประเมินโอกาสชนกันและเอนโทรปีตามการตั้งค่า

ตัวสร้าง NanoID แบบสุ่ม: ฟีเจอร์โดยสรุป
ฟีเจอร์สิ่งที่ได้รับเหมาะสำหรับ
ชุดอักขระที่ตั้งไว้ 9 แบบค่าเริ่มต้น NanoID (64 ตัวอักษร) ตัวอักษรและตัวเลข ฐานสิบหก ตัวเลขอย่างเดียว ตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ แบบไม่มีตัวคล้ายกัน แบบปลอดภัยต่อ URL หรือชุดกำหนดเองเลือก ID ให้เหมาะกับชื่อไฟล์ รหัสที่คนต้องพิมพ์ หรือระบบเลขฐานสิบหก
ชุดอักขระกำหนดเองป้อนอักขระของคุณเอง ระบบตัดตัวซ้ำออกอัตโนมัติ และแสดงตัวอย่างชุดที่ใช้จริงระบบที่มีข้อกำหนดอักขระเข้มงวด
ความยาว 8 ถึง 64กำหนดความยาวได้ตั้งแต่ 8 ถึง 64 ตัว ค่าเริ่มต้นคือ 21 ซึ่งมีเอนโทรปีประมาณ 126 bits เมื่อใช้ชุดอักขระมาตรฐานURL สั้นในด้านหนึ่งและโทเคนความปลอดภัยในอีกด้าน
คำนำหน้าและชุดข้อมูลเพิ่มคำนำหน้า เช่น usr_ หรือ doc_ แล้วสร้าง ID ได้ 1 ถึง 50 รายการพร้อมกันคีย์ฐานข้อมูลที่บอกประเภทในตัวและข้อมูลทดสอบ
ประเมินโอกาสชนกันแสดงโอกาสชนกันและเอนโทรปีของชุดอักขระกับความยาว พร้อมแจกแจงประเภทอักขระเลือกความยาวให้เหมาะกับจำนวน ID ที่คาดว่าจะใช้
เปรียบเทียบ NanoID กับ UUIDตารางเปรียบเทียบ NanoID กับ UUID v4 ด้านความยาว ชุดอักขระ เอนโทรปี และความปลอดภัยต่อ URLตัดสินใจว่าจะเปลี่ยนจาก UUID หรือไม่

NanoID คืออะไร?

NanoID เป็นตัวสร้างสตริง ID ที่ไม่ซ้ำกัน ขนาดเล็ก ปลอดภัย และเป็นมิตรกับ URL เดิมสร้างขึ้นสำหรับ JavaScript โดย Andrey Sitnik ตั้งแต่นั้นเป็นต้นมาก็ได้มีการพอร์ตไปยังทุกภาษาโปรแกรมหลัก นวัตกรรมที่สำคัญของ NanoID คือการใช้ชุดตัวอักษรที่ใหญ่กว่า (64 ตัวอักษรโดยค่าเริ่มต้น) แทนที่จะเป็นตัวเลขฐานสิบหก 16 ตัวของ UUID ซึ่งหมายความว่าเอนโทรปีต่อตัวอักษรมากขึ้นและ ID ที่สั้นลง

NanoID เริ่มต้นจะมีลักษณะดังนี้: V1StGXR8_Z5jdHi6B-myT

การเปรียบเทียบ NanoID กับ UUID

ตัวสร้าง NanoID แบบสุ่ม: การเปรียบเทียบ NanoID กับ UUID
คุณสมบัติ NanoID UUID v4
ความยาวเริ่มต้น 21 ตัวอักษร 36 ตัวอักษร (รวมเครื่องหมายยัติภังค์)
ขนาดของชุดตัวอักษร 64 ตัวอักษร (A-Za-z0-9_-) 16 ตัวอักษร (0-9a-f)
เอนโทรปี ~126 บิต (21 ตัวอักษร) ~122 บิต (ตัวเลขฐานสิบหก 32 ตัว)
ปลอดภัยสำหรับ URL ✓ ไม่ต้องเข้ารหัส ✗ เครื่องหมายยัติภังค์ต้องมีการเข้ารหัสในบางบริบท
ปรับแต่งได้ ✓ ชุดตัวอักษรและความยาว ✗ รูปแบบคงที่ (8-4-4-4-12)
ประสิทธิภาพของขนาด ✓ 6 บิตต่อตัวอักษร ✗ 4 บิตต่อตัวอักษร
รูปแบบ สตริงที่กะทัดรัด xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

เครื่องมือนี้นี้สร้าง NanoID ที่ปลอดภัยได้อย่างไร

การสุ่มระดับการเข้ารหัส

ตัวสร้างนี้ใช้โมดูล secrets ของ Python ที่ฝั่งเซิร์ฟเวอร์ ซึ่งให้การสร้างตัวเลขสุ่มที่ปลอดภัยในระดับการเข้ารหัส โดยได้รับการสนับสนุนจากแหล่งเอนโทรปีของระบบปฏิบัติการ (/dev/urandom ใน Linux/macOS, CryptGenRandom ใน Windows) แต่ละตัวอักษรใน NanoID จะถูกเลือกอย่างเป็นอิสระและไม่สามารถคาดเดาได้จากชุดตัวอักษรที่เลือก

ชุดตัวอักษรที่ตั้งไว้ล่วงหน้า

เราขอเสนอ 9 ชุดตัวอักษรที่ตั้งไว้ล่วงหน้าที่คัดสรรมาอย่างดีเพื่อให้เหมาะกับกรณีการใช้งานที่แตกต่างกัน:

  • NanoID เริ่มต้น (64 ตัวอักษร): ชุดตัวอักษรมาตรฐานของ NanoID A-Za-z0-9_- ปลอดภัยสำหรับ URL กะทัดรัด และเข้ากันได้กว้างขวาง ให้เอนโทรปี 6 บิตต่อตัวอักษร
  • ตัวอักษรและตัวเลข (62 ตัวอักษร): ตัวอักษรและตัวเลขเท่านั้น ไม่มีตัวอักษรพิเศษ ปลอดภัยสำหรับชื่อไฟล์ ฟิลด์ฐานข้อมูล และบริบทที่สัญลักษณ์ทำให้เกิดปัญหา
  • ฐานสิบหก (16 ตัวอักษร): รูปแบบฐานสิบหกแบบดั้งเดิม มีประโยชน์เมื่อ ID ต้องรวมเข้ากับระบบฐานสิบหก เช่น สี CSS หรือค่าแฮช
  • ตัวเลขเท่านั้น (10 ตัวอักษร): ID ที่เป็นตัวเลขเท่านั้น เหมาะสำหรับหมายเลขคำสั่งซื้อ รหัสอ้างอิง หรือระบบที่รับเฉพาะตัวเลขเท่านั้น
  • ตัวพิมพ์เล็ก / ตัวพิมพ์ใหญ่ (26 ตัวอักษร): ชุดตัวอักษรแบบตัวพิมพ์เดียวสำหรับระบบที่ไม่แยกความแตกต่างระหว่างตัวพิมพ์เล็กและใหญ่ หรือเพื่อความสอดคล้องทางสายตา
  • ไม่มีตัวอักษรที่คล้ายกัน (57 ตัวอักษร): ลบตัวอักษรที่สับสนง่ายในหลายฟอนต์ (1/l/I, 0/O/o) เหมาะสำหรับโค้ดที่มนุษย์อ่านได้ เช่น ลิงก์เชิญ หมายเลขยืนยัน และสิ่งใดก็ตามที่ผู้ใช้ต้องพิมพ์ด้วยตนเอง
  • ปลอดภัยสำหรับ URL (66 ตัวอักษร): ชุดตัวอักษรขยายพร้อม -._~ ตามตัวอักษรที่ไม่สงวนไว้ของ RFC 3986
  • ชุดตัวอักษรที่กำหนดเอง: กำหนดชุดตัวอักษรของคุณเอง ตัวอักษรที่ซ้ำกันจะถูกลบออกโดยอัตโนมัติ

คำอธิบายโอกาสในการเกิดการชนกัน

โอกาสในการเกิดการชนกันเป็นการวัดความเป็นไปได้ที่ ID สองตัวที่สร้างขึ้นอย่างอิสระจะเหมือนกัน สิ่งนี้ถูกกำหนดโดย ปัญหาความคล้ายคลึงของวันเกิด ในทฤษฎีความน่าจะเป็น:

  • ID ที่เป็นไปได้ทั้งหมด: alphabet_size ^ id_length สำหรับ NanoID เริ่มต้น: 64^21 = ~2^126
  • สำหรับ n ID ที่สร้างขึ้น: โอกาสในการเกิดการชนกัน ~ n^2 / (2 * total_possible)
  • ด้วย 1,000 ID: โอกาสน้อยมากอย่างยิ่ง (~10^-33)
  • ในการไปถึงโอกาสชนกัน 1% ด้วยการตั้งค่าเริ่มต้น: คุณต้องมี ID ประมาณ 10^18 ตัว (หนึ่งล้านล้านล้าน)

เครื่องคำนวณโอกาสในการเกิดการชนกันในหน้านี้จะแสดงการวิเคราะห์แบบเรียลไทม์ตามชุดตัวอักษรและความยาว ID ที่คุณเลือก ช่วยให้คุณตัดสินใจได้อย่างรอบคอบเกี่ยวกับการกำหนดค่า ID สำหรับมาตราส่วนเฉพาะของคุณ

วิธีใช้ตัวสร้าง NanoID

  1. เลือกชุดตัวอักษรที่ตั้งไว้ล่วงหน้า: เลือกจาก 9 ค่าที่ตั้งไว้ล่วงหน้าหรือกำหนดชุดตัวอักษรที่กำหนดเอง การแสดงตัวอย่างชุดตัวอักษรจะแสดงตัวอักษรที่แน่นอนที่จะใช้
  2. ตั้งค่าความยาว ID: เลือกตั้งแต่ 8 ถึง 64 ตัวอักษร ค่าเริ่มต้นคือ 21 ซึ่งให้เอนโทรปีประมาณ 126 บิตด้วยชุดตัวอักษรมาตรฐาน
  3. กำหนดค่าการตั้งค่าทางเลือก: เพิ่มคำนำหน้าสำหรับ ID ที่มีเนมสเปซ (เช่น "usr_", "doc_") และเลือกจำนวน (1-50)
  4. สร้างและคัดลอก: คลิก "สร้าง NanoID" เพื่อสร้าง ID ของคุณ ใช้การคัดลอกในคลิกเดียวสำหรับแต่ละ ID หรือคัดลอกทั้งหมดในคราวเดียว

กรณีการใช้งานสำหรับ NanoID

คีย์หลักของฐานข้อมูล

NanoID เป็นคีย์หลักที่ยอดเยี่ยมสำหรับฐานข้อมูล มีความยาวสั้นกว่า UUID (21 เทียบกับ 36 ตัวอักษร) ช่วยประหยัดพื้นที่เก็บข้อมูลและลดขนาดดัชนี ใช้คำนำหน้าเช่น "usr_" หรือ "ord_" เพื่อให้ ID อธิบายตัวเองได้

ตัวระบุทรัพยากร API

NanoID ปลอดภัยสำหรับ URL โดยค่าเริ่มต้น ทำให้เหมาะสำหรับปลายทาง REST API: /api/users/V1StGXR8_Z5jdHi6B-myT ไม่ต้องเข้ารหัส URL และดูสะอาดตาในบันทึกและ URL

ตัวย่อ URL

NanoID ขนาด 10 ตัวอักษรที่มีชุดตัวอักษรเริ่มต้นให้ความเป็นไปได้ 64^10 = ~10^18 แบบ ซึ่งเพียงพอสำหรับตัวย่อ URL ใดๆ ชุดตัวอักษรแบบไม่มีตัวอักษรที่คล้ายกันมีประโยชน์อย่างยิ่งที่นี่ เนื่องจากผู้ใช้อาจต้องพิมพ์ URL แบบย่อด้วยตนเอง

โทเค็นเซสชันและโทเค็น CSRF

เนื่องจากเครื่องมือนี้ใช้การสุ่มระดับการเข้ารหัส ID ที่สร้างขึ้นจึงเหมาะสำหรับโทเค็นความปลอดภัย ใช้ความยาวที่มากขึ้น (32-64 ตัวอักษร) สำหรับแอปพลิเคชันด้านความปลอดภัยที่ละเอียดอ่อน

ระบบกระจายตัว

NanoID สามารถสร้างได้อย่างอิสระบนเซิร์ฟเวอร์หลายเครื่องโดยไม่ต้องมีการประสานงานกัน ไม่เหมือนกับตัวเลขจำนวนเต็มที่เพิ่มขึ้นอัตโนมัติ โอกาสในการเกิดการชนกันนั้นน้อยมากแม้ในมาตราส่วนขนาดใหญ่

การตั้งชื่อไฟล์

ใช้ค่าที่ตั้งไว้ล่วงหน้าแบบตัวอักษรและตัวเลขสำหรับชื่อไฟล์ที่ปลอดภัยในทุกระบบปฏิบัติการ การไม่มีตัวอักษรพิเศษหมายความว่าไม่มีปัญหาในการใช้เครื่องหมาย Escape ใน Windows, macOS หรือ Linux

การเลือกความยาวที่เหมาะสม

ตัวสร้าง NanoID แบบสุ่ม: การเลือกความยาวที่เหมาะสม
ความยาว เอนโทรปี (ชุดตัวอักษร 64 ตัว) เหมาะสำหรับ เกณฑ์โอกาสชนกัน 1%
8 48 บิต URL แบบสั้น, ชุดข้อมูลขนาดเล็ก ~16 ล้าน ID
12 72 บิต วัตถุประสงค์ทั่วไป, ชุดข้อมูลขนาดกลาง ~68 พันล้าน ID
16 96 บิต ระบบขนาดใหญ่, ปริมาณงานสูง ~280 ล้านล้าน ID
21 126 บิต ค่าเริ่มต้น, แอปพลิเคชันส่วนใหญ่ ~10^18 ID
32 192 บิต โทเค็นความปลอดภัย, ปลอดภัยเป็นพิเศษ ~10^28 ID
64 384 บิต ความปลอดภัยสูงสุด ~10^57 ID

ตัวอย่างโค้ด

JavaScript (โดยใช้แพ็กเกจ nanoid)

import { nanoid } from 'nanoid';

// ค่าเริ่มต้น: 21 ตัวอักษร, ชุดตัวอักษรที่ปลอดภัยสำหรับ URL
const id = nanoid(); // "V1StGXR8_Z5jdHi6B-myT"

// ความยาวที่กำหนดเอง
const shortId = nanoid(10); // "IRFa-VaY2b"

// ชุดตัวอักษรที่กำหนดเอง
import { customAlphabet } from 'nanoid';
const hexId = customAlphabet('0123456789abcdef', 12);

Python (โดยใช้แพ็กเกจ nanoid)

from nanoid import generate

# NanoID เริ่มต้น
id = generate() # "V1StGXR8_Z5jdHi6B-myT"

# ความยาวและชุดตัวอักษรที่กำหนดเอง
id = generate('0123456789abcdef', 12)

คำถามที่พบบ่อย

NanoID คืออะไรและแตกต่างจาก UUID อย่างไร?

NanoID เป็นตัวสร้างสตริง ID ที่ไม่ซ้ำกัน ขนาดเล็ก ปลอดภัย และเป็นมิตรกับ URL โดยปกติจะมีความยาว 21 ตัวอักษร (เทียบกับ 36 ตัวอักษรของ UUID) ใช้ชุดตัวอักษรที่ใหญ่กว่า (A-Za-z0-9_-) เพื่อเอนโทรปีที่มากขึ้นต่อตัวอักษร ปลอดภัยสำหรับ URL โดยไม่ต้องเข้ารหัส และไม่มีรูปแบบคงที่หรือเครื่องหมายยัติภังค์ NanoID ให้ความทนทานต่อการชนกันที่คล้ายกับ UUID v4 ในจำนวนตัวอักษรที่น้อยกว่า เพราะใช้สัญลักษณ์ 64 ตัวแทนที่จะเป็นตัวเลขฐานสิบหก 16 ตัว

NanoID ที่สร้างโดยเครื่องมือนี้ปลอดภัยเพียงใด?

เครื่องมือนี้ใช้โมดูล secrets ของ Python ซึ่งให้การสร้างตัวเลขสุ่มที่ปลอดภัยในระดับการเข้ารหัส โดยได้รับการสนับสนุนจากแหล่งเอนโทรปีของระบบปฏิบัติการ แต่ละตัวอักษรจะถูกเลือกอย่างเป็นอิสระและไม่สามารถคาดเดาได้ NanoID ขนาด 21 ตัวอักษรเริ่มต้นที่มีชุดตัวอักษรมาตรฐานมีเอนโทรปีประมาณ 126 บิต ซึ่งเทียบได้กับประมาณ 122 บิตของ UUID v4

ฉันควรใช้ความยาว NanoID เท่าใดสำหรับโปรเจกต์ของฉัน?

ความยาวเริ่มต้นที่ 21 ตัวอักษรให้เอนโทรปีประมาณ 126 บิตด้วยชุดตัวอักษรมาตรฐาน ซึ่งเพียงพอสำหรับแอปพลิเคชันส่วนใหญ่ สำหรับตัวย่อ URL หรือ ID ที่ผู้ใช้เห็น 8-12 ตัวอักษรอาจเพียงพอขึ้นอยู่กับจำนวน ID ทั้งหมดของคุณ สำหรับระบบกระจายตัวที่สร้าง ID เป็นล้านๆ ตัวอักษรขึ้นไป 21 ตัวอักษรขึ้นไปจะช่วยให้โอกาสในการเกิดการชนกันน้อยมาก ใช้เครื่องคำนวณโอกาสในการเกิดการชนกันเพื่อค้นหาความยาวที่เหมาะสมสำหรับกรณีการใช้งานเฉพาะของคุณ

ฉันสามารถใช้ NanoID เป็นคีย์หลักของฐานข้อมูลได้หรือไม่?

ได้ NanoID ทำงานได้ดีในฐานะคีย์หลักของฐานข้อมูล มีความกะทัดรัด (21 ตัวอักษรเทียบกับ 36 ของ UUID) ปลอดภัยสำหรับ URL และมีความทนทานต่อการชนกันที่ดีเยี่ยม อย่างไรก็ตาม ไม่เหมือนกับตัวเลขจำนวนเต็มที่เพิ่มขึ้นอัตโนมัติ มันไม่ได้เรียงลำดับ ดังนั้นหากฐานข้อมูลของคุณใช้ดัชนี B-tree การใช้ ID แบบสุ่มอาจทำให้เกิดการแยกหน้ามากขึ้น พิจารณาการใช้คำนำหน้า (เช่น "usr_" หรือ "ord_") เพื่อให้ ID อธิบายตัวเองได้

ชุดตัวอักษรที่ตั้งไว้ล่วงหน้า "ไม่มีตัวอักษรที่คล้ายกัน" คืออะไร?

ค่าที่ตั้งไว้ล่วงหน้า 'ไม่มีตัวอักษรที่คล้ายกัน' (No-Lookalike) จะลบตัวอักษรที่มีลักษณะคล้ายกันในหลายฟอนต์ออก: 1/l/I (เลขหนึ่ง, แอลพิมพ์เล็ก, ไอพิมพ์ใหญ่) และ 0/O/o (เลขศูนย์, โอพิมพ์ใหญ่, โอพิมพ์เล็ก) สิ่งนี้ทำให้ ID อ่าน บันทึก และสื่อสารด้วยวาจาได้ง่ายขึ้นมาก เหมาะอย่างยิ่งสำหรับ ID ที่ผู้ใช้เห็น เช่น รหัสเชิญ หมายเลขยืนยัน หรือ ID ใดๆ ที่มนุษย์ต้องพิมพ์ด้วยตนเอง

แหล่งข้อมูลเพิ่มเติม

อ้างอิงเนื้อหา หน้าหรือเครื่องมือนี้ว่า:

"ตัวสร้าง NanoID แบบสุ่ม" ที่ https://MiniWebtool.com/th/ตัวสร้าง-nanoid-แบบสุ่ม/ จาก MiniWebtool, https://MiniWebtool.com/

โดยทีม miniwebtool อัปเดตเมื่อ: 7 ก.พ. 2026

พูดคุยกับ AI ที่คุณชื่นชอบ

เมื่อใช้ Gemini ให้วางคำถามที่คัดลอกลงในแชต คุณคัดลอกคำถามด้านล่างได้เช่นกัน

ดูคำถาม

การสุ่ม:

เครื่องมือยอดนิยมและอัปเดตล่าสุด:

เครื่องกำเนิดสตริงแบบสุ่มตัวสร้าง PIN แบบสุ่มตัวสร้างพิกัดสุ่มดูทั้งหมด →
หน้าแรก > การสุ่ม > ตัวสร้าง NanoID แบบสุ่ม