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:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07"
sqids_decode(sqids, hash, nums, 3); // => 3
Nếu ID quá ngắn, bạn có thể thêm độ dài cho chúng:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 10, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07xd4z"
sqids_decode(sqids, hash, nums, 3); // => 3
Tạo ID duy nhất bằng cách xáo trộn bảng chữ cái:
sqids_t *sqids = sqids_new("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt", 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "XRKUdQ"
sqids_decode(sqids, hash, nums, 3); // => 3
Tài liệu đầy đủ tại https://github.com/sqids/sqids-c
Nếu bạn đang tìm phiên bản ban đầu của Hashids C, bạn có thể tìm thấy ở đây: https://github.com/tzvetkoff/hashids.c
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.