超碰人人人人人,色婷婷综合久久久久中文一区二区,国产-第1页-浮力影院,欧美老妇另类久久久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

在 .NET 中使用 Sqids 快速的為數(shù)字 ID 披上神秘短串,輕松隱藏敏感數(shù)字!

freeflydom
2025年5月9日 8:55 本文熱度 111

前言

在當今數(shù)字化時代,數(shù)據(jù)的安全性和隱私性至關(guān)重要。隨著網(wǎng)絡(luò)應(yīng)用的不斷發(fā)展,數(shù)字 ID 作為數(shù)據(jù)標識和訪問控制的關(guān)鍵元素,其保護顯得尤為重要。然而,傳統(tǒng)的數(shù)字 ID 往往直接暴露了一些敏感信息,如順序編號或數(shù)據(jù)庫主鍵ID,這不僅增加了數(shù)據(jù)泄露的風險,還可能讓不法分子有機可乘。

?在 .NET 中使用 Sqids 快速的為數(shù)字 ID 披上神秘短串,從而輕松隱藏敏感數(shù)字,保護數(shù)據(jù)安全。

Sqids 介紹

Sqids 是一個基于 C# 編寫、開源的輕量級工具庫,它允許你從數(shù)字生成類似 YouTube 的 ID。它可以將數(shù)字(如 127)編碼為字符串(如 yc3),然后你可以將這些字符串解碼回原始數(shù)字。當你想要將數(shù)字(如順序數(shù)值 ID)混淆為看似隨機的字符串,以便在 URL 和其他地方使用時,Sqids 就非常派得上用場。

功能特點

  • Sqids 生成的 ID 是唯一的,并且始終可以解碼回原始數(shù)字。
  • 可以將多個數(shù)字捆綁成一個 ID,然后可以將該 ID 解碼回相同的數(shù)字集。
  • Sqids 生成的 ID 確保不包含常見的臟話,因此您可以在用戶可以看到的地方安全地使用這些 ID(例如在 URL 中)。
  • .NET 7 及以上版本支持所有整數(shù)類型(如 int、long、byte、short 等),而舊版本僅支持 int。
  • 采用基于 span 的優(yōu)化實現(xiàn),最小化內(nèi)存分配并最大化性能。

創(chuàng)建一個控制臺應(yīng)用

首先我們創(chuàng)建一個名為:SqidsExercise 的 .NET 9 控制臺應(yīng)用:

安裝 Sqids NuGet 包

在 NuGet 包管理器中搜索 Sqids 安裝:

 

簡單使用示例

    internal class Program
    {
        static void Main(string[] args)
        {
            // 使用默認選項創(chuàng)建 SqidsEncoder 實例
            var sqids = new SqidsEncoder<int>();

            // 編碼單個數(shù)字
            var id = sqids.Encode(99);
            Console.WriteLine($"編碼單個數(shù)字: {id}"); // 輸出:Q8P

            // 解碼單個 ID
            var number = sqids.Decode(id).Single();
            Console.WriteLine($"解碼單個 ID '{id}': {number}"); // 輸出:99

            // 編碼多個數(shù)字
            var ids = sqids.Encode(7, 8, 9);
            Console.WriteLine($"編碼多個數(shù)字 7, 8, 9: {ids}"); // 輸出:ylrR3H

            // 解碼多個 ID
            var numbers = sqids.Decode(ids);
            Console.WriteLine($"解碼多個 ID '{ids}': {string.Join(", ", numbers)}"); // 輸出:7, 8, 9

            // 使用自定義選項創(chuàng)建 SqidsEncoder 實例
            var customSqids = new SqidsEncoder<int>(new SqidsOptions
            {
                Alphabet = "mTHivO7hx3RAbr1f586SwjNnK2lgpcUVuG09BCtekZdJ4DYFPaWoMLQEsXIqyz",//自定義字母表(注意:字母表至少需要 3 個字符)
                MinLength = 5,//最小長度,默認情況下,Sqids 使用盡可能少的字符來編碼給定的數(shù)字。但是,如果你想讓你的所有 ID 至少達到一定的長度(例如,為了美觀),你可以通過 MinLength 選項進行配置:
                BlockList = { "whatever", "else", "you", "want" } //自定義黑名單,Sqids 自帶一個大的默認黑名單,這將確保常見的詛咒詞等永遠不會出現(xiàn)在您的 ID 中。您可以像這樣向這個默認黑名單添加額外項:
            });

            // 使用自定義 SqidsEncoder 編碼和解碼
            var customId = customSqids.Encode(8899);
            Console.WriteLine($"使用自定義 SqidsEncoder 編碼: {customId}"); // 輸出:i1uYg

            var customNumber = customSqids.Decode(customId).Single();
            Console.WriteLine($"使用自定義 SqidsEncoder 解碼: {customNumber}"); // 輸出:8899
        }
    }

項目源碼地址

更多項目實用功能和特性歡迎前往項目開源地址查看??,別忘了給項目一個Star支持??。

轉(zhuǎn)自https://www.cnblogs.com/Can-daydayup/p/18867416


該文章在 2025/5/9 8:55:51 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved