首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

hashids.net:一个让你的ID不再暴露的小工具,用短哈希隐藏敏感数字

推荐一个开源项目,用于生成类似 YouTube 的短字符串哈希,从而隐藏数字(如数据库 ID)的真实值。

01

项目简介

hashids.net 是一个小型的 .NET 包,能够将数字(如 347)或数字数组(如 [27, 986])转换为简短且难以猜测的字符串(如 yr8 或 3kTMd)。

而且这些字符串可以被解码回原始数字,非常适合用于隐藏实际的数据库 ID、将多个参数合并为一个短字符串 ID,或者生成用户友好的唯一标识符。

02

功能特点

1、生成短唯一 ID

支持从整数生成短字符串 ID,仅支持非负整数(包括零)。

生成的 ID 不是顺序的,即使输入是递增的,输出也会保持不可预测性。

2、支持多种输入

支持单个数字或数字数组(支持 int 和 long 类型)。

支持自定义字符集和盐值(salt),确保生成的哈希对每个应用都是唯一的。

3、可配置性

支持设置最小哈希长度,确保生成的字符串至少达到指定长度。

尝试避免生成包含基本英文脏话的哈希值。

4、可逆性

虽然哈希是可逆的,但设计上尽量保证其不可预测性,适合用于隐藏敏感信息(但不适合用于加密)。

03

使用方法

1、安装依赖库

Install-Package hashids.net

2、编码示例

var hashids = new Hashids("this is my salt");var hash = hashids.Encode(12345); // 编码单个数字 NkK9var hashLong = hashids.EncodeLong(666555444333222L); // 编码长整型数字 KVO9yy1oO5jvar hashMultiple = hashids.Encode(683, 94108, 123, 5); // 编码多个数字 aBMswoO2UB3Sj

3、解码示例

var hashids = new Hashids("this is my salt");var numbers = hashids.Decode("NkK9"); // 解码字符串var numberSingle = hashids.DecodeLong("KVO9yy1oO5j"); // 解码长整型数字var numberLong = hashids.Decode("aBMswoO2UB3Sj"); // 解码多个数字

04

项目地址

最后欢迎加入我的知识星球,带你从零学习:三层架构与领域驱动设计架构!

- End -

分享一套.NetCore从入门到精通视频教程

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OJgQjsxy_LqZLFcDckfytFgQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券