gpt4 book ai didi

c# - 创建唯一的 URL 安全哈希

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:53 25 4
gpt4 key购买 nike

我想散列/编码一个唯一的整数(数据库 ID)以创建一个类似的唯一字符串。

需要满足以下要求:

  1. 必须以字母或数字开头,并且只能包含字母和数字。
  2. 容器名称中的所有字母必须小写。
  3. 长度必须在 3 到 63 个字符之间(越短越好)

结果不需要是可逆的,只要是可重复的——所以单向哈希就可以了。

最佳答案

一个简单的解决方案是 base 36 编码。输出将是一个介于 1 到 6 个字符之间的字符串。

public static string EncodeBase36(int i)
{
Contract.Requires<ArgumentException>(i>=0);
//Base conversion
string s="";
while(i!=0)
{
int digit = i % 36;
i/=36;
if(digit<10)
s=((char)('0'+digit)).ToString()+s;
else
s=((char)('a'+digit-10)).ToString()+s;
}
// Enforce minimum length
while(s.Length<3)
{
s = "0" + s;
}
return s;
}

关于c# - 创建唯一的 URL 安全哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12321069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com