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 的主要用途是單純形象化的。如果您想在應用中使用識別碼 ID代替數字,Sqids 可能是一個不錯的選擇。