在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,轻松隐藏敏感数字!
前言
在当今数字化时代,数据的安全性和隐私性至关重要。随着网络应用的不断发展,数字 ID 作为数据标识和访问控制的关键元素,其保护显得尤为重要。然而,传统的数字 ID 往往直接暴露了一些敏感信息,如顺序编号或数据库主键 ID,这不仅增加了数据泄露的风险,还可能让不法分子有机可乘。
本文大姚将带领大家在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,从而轻松隐藏敏感数字,保护数据安全。
Sqids 介绍
Sqids 是一个基于 C# 编写、开源的轻量级工具库,它允许你从数字生成类似 YouTube 的 ID。它可以将数字(如 127)编码为字符串(如 yc3),然后你可以将这些字符串解码回原始数字。当你想要将数字(如顺序数值 ID)混淆为看似随机的字符串,以便在 URL 和其他地方使用时,Sqids 就非常派得上用场。
功能特点
Sqids 生成的 ID 是唯一的,并且始终可以解码回原始数字。
可以将多个数字捆绑成一个 ID,然后可以将该 ID 解码回相同的数字集。
Sqids 生成的 ID 确保不包含常见的脏话,因此您可以在用户可以看到的地方安全地使用这些 ID(例如在 URL 中)。
.NET 7 及以上版本支持所有整数类型(如 int、long、byte、short 等),而旧版本仅支持 int。
采用基于 span 的优化实现,最小化内存分配并最大化性能。
创建一个控制台应用
首先我们创建一个名为:SqidsExercise 的 .NET 9 控制台应用:
安装 Sqids NuGet 包
在 NuGet 包管理器中搜索 Sqids 安装:
简单使用示例
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个 Star 支持💖。
源码开源地址:https://github.com/sqids/sqids-dotnet
本文示例源码:https://github.com/YSGStudyHards/DotNetExercises/tree/master/SqidsExercise
优秀项目和框架精选
该项目已收录到 C#/.NET/.NET Core 优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解 C#、.NET 和.NET Core 领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交 PR 推荐或自荐(让优秀的项目和框架不被埋没🤞)。
GitHub 开源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
Gitee 开源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
版权声明: 本文为 InfoQ 作者【追逐时光者】的原创文章。
原文链接:【http://xie.infoq.cn/article/9b4acbdaa88097e52a3d25ef9】。文章转载请联系作者。







评论