2009-09-26 52 views
2

嘿家伙我想生成独特的base62哈希 - 类似于tinyurl和bit.ly类似使用c#。这将基于bigint类型的自动增量字段ID(与大多数这些网站一样)最快的代码来生成独特的base62哈希

分钟字符将为1,最大字符数将为6 ...如果您必须编写最快的代码(最少量cpu的使用)在这个哈希你将如何写它?

回答

0

Eric Lippert在类似的早期问题中建议lookup tables。他的回答对你来说也是完美的。

3

请参阅我的回答另一个堆栈溢出的问题是相似的,在这里:

Need a smaller alternative to GUID for DB ID but still unique and random for URL

我张贴所谓的“简码” C#类,已经做了你要寻找什么,即产生一个独特的baseX(其中X是你喜欢的任何东西!)散列基于整数/长整数,并且还可以再次转换。

我实际上编写了这个小类,以模仿TinyUrl.com和Bit.ly等网站的短代码/哈希代码,以达到我自己的目的。

我不能说这是绝对的最快的实现这个方法,但它也不是很慢! :)