我想在c#和asp.net mvc中創建一個url shortener系統。我知道哈希表,我知道如何創建一個重定向系統等問題是索引長數據庫中的URL。一些網址可能長達4000個字符,並且似乎索引這種類型的字符串是一個壞主意。問題是:如何爲每個網址創建一個唯一的短字符串?例如MD5可以幫助我?每個字符串的MD5真的是獨一無二的嗎?爲每個唯一的長字符串創建一個簡短的唯一字符串
注:我看到的Gravatar使用MD5的電子郵件,因此,如果每個電子郵件地址是唯一的,那麼它的MD5哈希值是唯一的。這樣對嗎?我可以爲網址使用相同的解決方案嗎?
MD5是128位,所以它可能會足夠獨特。 –
您尋求[完美哈希函數](http://en.wikipedia.org/wiki/Perfect_hash_function)以避免衝突。 – HABO
@HABO不錯的文章和很好的解決方案。請張貼您的建議作爲答案,我會接受它。 –