Sqids เป็นไลบรารีโอเพนซอร์สที่ช่วยให้คุณสามารถสร้างตัวระบุที่สั้นและไม่ซ้ำกันจากตัวเลขได้ การระบุเหล่านี้ปลอดภัยสำหรับ URL สามารถเข้ารหัสตัวเลขหลายตัวและไม่มีคำหยาบที่พบบ่อย อ่านเพิ่มเติม .
นี่คือรูปแบบของพวกเขา:
ตัวอย่างการเข้ารหัสและถอดรหัสด่วน:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 0); -- 86Rf07
select sqids.decode('86Rf07', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
หาก ID สั้นเกินไปคุณสามารถเติมขยายความยาว:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 10); -- 86Rf07xd4z
select sqids.decode('86Rf07xd4z', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
สร้าง ID ที่ไม่ซ้ำกันโดยการสลับอักษร:
select sqids.encode(array[1, 2, 3], 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt', 0); -- XRKUdQ
select sqids.decode('XRKUdQ', 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt'); -- {1,2,3}
คำแนะนำแบบเต็มอยู่ที่ https://github.com/sqids/sqids-plpgsql
หากคุณกำลังมองหา Hashids PLpgSQL เวอร์ชันต้นฉบับคุณสามารถหาได้ที่นี่: https://github.com/array-analytics/plpg_hashids
การใช้งานหลักของ Sqids เป็นเพียงแค่การมองเห็น หากคุณต้องการใช้รหัสตัวระบุแทนตัวเลขในโปรเจกต์ของคุณ Sqids อาจเป็นทางเลือกที่ดี