Sqids เป็นไลบรารีโอเพนซอร์สที่ช่วยให้คุณสามารถสร้างตัวระบุที่สั้นและไม่ซ้ำกันจากตัวเลขได้ การระบุเหล่านี้ปลอดภัยสำหรับ URL สามารถเข้ารหัสตัวเลขหลายตัวและไม่มีคำหยาบที่พบบ่อย อ่านเพิ่มเติม .
นี่คือรูปแบบของพวกเขา:
ตัวอย่างการเข้ารหัสและถอดรหัสด่วน:
{:ok, sqids} = Sqids.new()
id = Sqids.encode!(sqids, [1, 2, 3]) # 86Rf07
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
หาก ID สั้นเกินไปคุณสามารถเติมขยายความยาว:
{:ok, sqids} = Sqids.new(min_length: 10)
id = Sqids.encode!(sqids, [1, 2, 3]) # 86Rf07xd4z
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
สร้าง ID ที่ไม่ซ้ำกันโดยการสลับอักษร:
{:ok, sqids} = Sqids.new(alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
id = Sqids.encode!(sqids, [1, 2, 3]) # XRKUdQ
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
คำแนะนำแบบเต็มอยู่ที่ https://github.com/sqids/sqids-elixir
หากคุณกำลังมองหา Hashids Elixir เวอร์ชันต้นฉบับคุณสามารถหาได้ที่นี่: https://github.com/alco/hashids-elixir
การใช้งานหลักของ Sqids เป็นเพียงแค่การมองเห็น หากคุณต้องการใช้รหัสตัวระบุแทนตัวเลขในโปรเจกต์ของคุณ Sqids อาจเป็นทางเลือกที่ดี