C# 使用 Sqids 產生縮網址短的唯一識別碼

Sqids 以前叫做 Hashids ,主要用途是將原始資料轉換,產生唯一的一組 ID,類似於縮網址,又或是 YouTube 的影片連結後面的亂碼: https://www.youtube.com/watch?v=dQw4w9WgXcQ

安裝

先使用 NuGet 安裝 Sqids 套件,或是使用 .NET CLI 執行以下指令安裝
	
dotnet add package Sqids
    

使用示範

使用 Alphabet 指定可以出現的字元,建議實際在使用時打亂順序,增加被反向計算內容的困難度。
當內容夠大時長度會超過 MinLength ,並沒有辦法直接指定內容長度。
    
using Sqids;

var sqids = new SqidsEncoder(new()
{
    Alphabet = "ABCDEFGHJKLMNPQRSTUVWXY3456789", // 指定可以使用的字元,建議打亂順序
    MinLength = 3, // 內容最小長度
});


string code = sqids.Encode(123);
Console.WriteLine($"code: {code}"); // code: 83J
    

建立完 SqidsEncoder 後使用 Encode 就可以直接取得轉換後的唯一識別碼,非常方便。

參考資料:
GitHub - sqids/sqids-dotnet
sqids

留言