嘿傢伙我想生成獨特的base62哈希 - 類似於tinyurl和bit.ly類似使用c#。這將基於bigint類型的自動增量字段ID(與大多數這些網站一樣)最快的代碼來生成獨特的base62哈希
分鐘字符將爲1,最大字符數將爲6 ...如果您必須編寫最快的代碼(最少量cpu的使用)在這個哈希你將如何寫它?
嘿傢伙我想生成獨特的base62哈希 - 類似於tinyurl和bit.ly類似使用c#。這將基於bigint類型的自動增量字段ID(與大多數這些網站一樣)最快的代碼來生成獨特的base62哈希
分鐘字符將爲1,最大字符數將爲6 ...如果您必須編寫最快的代碼(最少量cpu的使用)在這個哈希你將如何寫它?
Eric Lippert在類似的早期問題中建議lookup tables。他的回答對你來說也是完美的。
請參閱我的回答另一個堆棧溢出的問題是相似的,在這裏:
Need a smaller alternative to GUID for DB ID but still unique and random for URL
我張貼所謂的「簡碼」 C#類,已經做了你要尋找什麼,即產生一個獨特的baseX(其中X是你喜歡的任何東西!)散列基於整數/長整數,並且還可以再次轉換。
我實際上編寫了這個小類,以模仿TinyUrl.com和Bit.ly等網站的短代碼/哈希代碼,以達到我自己的目的。
我不能說這是絕對的最快的實現這個方法,但它也不是很慢! :)