2

嘿伙计们,我想生成唯一的 base62 哈希——类似于 tinyurl 和 bit.ly 使用 c# 所做的事情。这将基于 bigint 类型的自动增量字段 ID(与大多数这些站点一样)

min chars 为 1,max chars 为 6...如果您必须在 c# 中为此哈希编写最快的代码(最少的 cpu 使用量),您将如何编写它?

4

2 回答 2

3

请在此处查看我对另一个类似的 Stack Overflow 问题的回答:

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

我发布了一个名为“ShortCodes”的 C# 类,它完全符合您的要求,即根据整数/长数字生成唯一的 baseX(其中 X 是您喜欢的任何东西!)哈希,并再次转换回来。

实际上,我编写这个小类正是为了模仿 TinyUrl.com 和 Bit.ly 等网站的短代码/哈希生成,以用于我自己的目的。

我不能说这是否是实现这一目标的绝对最快方法,但也不是很慢!:)

于 2009-09-26T11:10:08.883 回答
0

Eric Lippert在类似的早期问题中建议使用查找表。他的回答也非常适合您的目的。

于 2009-09-26T10:59:30.733 回答