Sqids là một thư viện mã nguồn mở cho phép bạn tạo các định danh ngắn duy nhất từ các số. Những ID này an toàn trên URL, có thể mã hóa nhiều số và không chứa các từ thô tục thông thường. Đọc thêm .
Đây là những gì chúng trông giống như:
Ví dụ mã hóa và giải mã nhanh:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 0); -- 86Rf07
select sqids.decode('86Rf07', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
Nếu ID quá ngắn, bạn có thể thêm độ dài cho chúng:
select sqids.encode(array[1, 2, 3], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 10); -- 86Rf07xd4z
select sqids.decode('86Rf07xd4z', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'); -- {1,2,3}
Tạo ID duy nhất bằng cách xáo trộn bảng chữ cái:
select sqids.encode(array[1, 2, 3], 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt', 0); -- XRKUdQ
select sqids.decode('XRKUdQ', 'k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt'); -- {1,2,3}
Tài liệu đầy đủ tại https://github.com/sqids/sqids-plpgsql
Nếu bạn đang tìm phiên bản ban đầu của Hashids PLpgSQL, bạn có thể tìm thấy ở đây: https://github.com/array-analytics/plpg_hashids
Sử dụng chính của Sqids là hoàn toàn thị giác. Nếu bạn muốn sử dụng ID thay vì số trong dự án của bạn, Sqids có thể là lựa chọn tốt.