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:
DEFINE VARIABLE sqids AS Sqids NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER EXTENT 3 NO-UNDO.
DEFINE VARIABLE id AS CHARACTER NO-UNDO.
sqids = NEW Sqids().
ASSIGN
numbers[1] = 1
numbers[2] = 2
numbers[3] = 3.
id = sqids:Encode(numbers). // '86Rf07'.
numbers = sqids:Decode(id). // [1, 2, 3]
Nếu ID quá ngắn, bạn có thể thêm độ dài cho chúng:
DEFINE VARIABLE sqids AS Sqids NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER EXTENT 3 NO-UNDO.
DEFINE VARIABLE id AS CHARACTER NO-UNDO.
sqids = NEW Sqids('', 10).
ASSIGN
numbers[1] = 1
numbers[2] = 2
numbers[3] = 3.
id = sqids:Encode(numbers). // '86Rf07xd4z'.
numbers = sqids:Decode(id). // [1, 2, 3]
Tạo ID duy nhất bằng cách xáo trộn bảng chữ cái:
DEFINE VARIABLE sqids AS Sqids NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER EXTENT 3 NO-UNDO.
DEFINE VARIABLE id AS CHARACTER NO-UNDO.
sqids = NEW Sqids('k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt').
ASSIGN
numbers[1] = 1
numbers[2] = 2
numbers[3] = 3.
id = sqids:Encode(numbers). // 'XRKUdQ'.
numbers = sqids:Decode(id). // [1, 2, 3]
Tài liệu đầy đủ tại https://github.com/sqids/sqids-openedge-abl
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.