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