- Sqids เป็นไลบรารีโอเพนซอร์สที่สร้าง ID สไตล์ YouTube จากตัวเลข
- ID ที่สร้างขึ้นมีขนาดสั้น สามารถสร้างด้วยชุดอักขระที่กำหนดเองได้ และรับประกันว่าไม่เกิดการชนกัน
- ตัวอย่าง ID ที่ให้มามีรูปแบบเช่น
https://example.com/Lqj8a0
เหตุผลที่ใช้ Sqids
- จุดประสงค์หลักของ Sqids คือด้านการแสดงผลให้ดูดี
- หากต้องการใช้ ID แทนตัวเลขในเว็บแอป Sqids อาจเป็นตัวเลือกที่ดี
- ตัวอย่างการใช้งาน ได้แก่ การย่อลิงก์ การใช้งานที่ปลอดภัยกับ URL, event ID, การเข้ารหัส/ถอดรหัสแบบไม่ชนกัน และรหัสผ่านใช้ครั้งเดียว
- ไม่เหมาะกับข้อมูลที่มีความอ่อนไหว และหากใช้เป็น user ID อาจทำให้จำนวนผู้ใช้ถูกเปิดเผยได้
คุณสมบัติของ Sqids
- สามารถสร้าง ID แบบสั้นจากตัวเลขที่ไม่เป็นลบ
- เข้ารหัสและถอดรหัสได้ง่าย
- ID ที่สร้างอัตโนมัติจะไม่มีคำหยาบทั่วไปปะปนอยู่
- รองรับการสลับชุดอักขระสำหรับสร้าง ID แบบกำหนดเอง
- รองรับภาษาโปรแกรม 40 ภาษา โดย 15 ภาษาในนั้นใช้ดีไซน์ใหม่
- สร้าง ID เดียวกันได้ในทุกเวอร์ชัน
- มีขนาดไลบรารีเล็กและใช้ไลเซนส์ที่ผ่อนปรน
ความเห็นของ GN⁺
- ไลบรารี Sqids มีประโยชน์สำหรับนักพัฒนาที่ต้องการใช้ ID แบบสั้นและไม่ชนกันแทนตัวเลขในเว็บแอป
- ไลบรารีนี้มอบ ID ที่ดูน่าสนใจในเชิงภาพ และรองรับภาษาโปรแกรมที่หลากหลาย ทำให้เข้าถึงได้ง่าย
- มอบโอกาสที่เป็นประโยชน์ต่อผู้พัฒนาโอเพนซอร์ส และลิขสิทธิ์ได้รับการคุ้มครองภายใต้ MIT License
6 ความคิดเห็น
เหมาะสำหรับกันการครอว์ลิงได้ดีนะ
ช่วยอธิบายเพิ่มเติมได้ไหมครับ/คะ ว่าใช้อย่างไรถึงจะป้องกันการครอว์ลได้?
ถ้า URL เป็นแค่
posts/1,posts/2,posts/3ครอว์เลอร์ก็จะใส่ 1,2,3,4,5... แล้วไล่วนไปเรื่อย ๆแต่ถ้า URL เป็นแบบ
posts/L12Qsd,posts/dei24Aก็น่าจะทำแบบนั้นไม่ได้ ก็เลยเป็นแบบนั้นมั้งครับอ๋อ! ขอบคุณสำหรับคำตอบครับ
สงสัยว่ามันต่างจาก hashids ยังไงเลยลองค้นดู พอเข้า https://hashids.org ก็ถูกพาไปที่ https://sqids.org/ ดูเหมือนว่าจะเปลี่ยนชื่อนะครับ
https://sqids.org/faq#hashids
ความคิดเห็นจาก Hacker News
ความเป็นไปได้ที่จะได้อินไซต์ทางธุรกิจจากบริษัทที่ใช้ ID แบบต่อเนื่อง
ข้อสงสัยเกี่ยวกับการกล่าวถึงรหัสผ่านใช้ครั้งเดียว
ผิดหวังที่ไม่สามารถฟอร์แมตจำนวนเต็ม 128 บิตหรืออาร์เรย์ไบต์ได้
ในแอปพลิเคชัน Ruby ใช้วิธีแปลงเป็นเลขฐานสูง
การกรองคำหยาบอาจกลายเป็นภาระโดยตัวดีไซน์เอง
ชอบใช้ nanoid และการใช้ชุดอักขระที่ปลอดภัย
การอภิปรายเกี่ยวกับการใช้สตริงที่สร้างแบบสุ่ม
สับสนกับการให้ลิงก์สำหรับ 40 ภาษาในส่วน "Get Started"
คำถามเกี่ยวกับวิธีปรับหรือพัฒนาบล็อกลิสต์
ในเธรดนี้หลายคนบอกว่าเป็นวิธีที่ดีในการซ่อนอินไซต์จาก ID/ตัวเลข