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:
val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)
Nếu ID quá ngắn, bạn có thể thêm độ dài cho chúng:
Sqids
.withMinLength(10)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Tạo ID duy nhất bằng cách xáo trộn bảng chữ cái:
Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.flatMap(Sqids.forAlphabet)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Tài liệu đầy đủ tại https://github.com/sqids/sqids-scala
Nếu bạn đang tìm phiên bản ban đầu của Hashids Scala, bạn có thể tìm thấy ở đây: https://github.com/newhoggy/hashids-scala
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.