7
我需要一個哈希算法,輸出最長20個字符的字母數字字符串。對於「字母數字」,我的意思是[a-zA-Z0-9]
。哈希算法,最多20個字符的字母數字輸出
輸入是UUID S IN規範形式(例如550e8400-e29b-41d4-a716-446655440000
)
在可替代的是有辦法到SHA1或MD5哈希轉換爲與這些限制的字符串?
謝謝。
編輯
不需要被加密安全。碰撞使數據不準確,但如果它們偶爾發生,我可以忍受它。
EDIT 2
我不知道,如果截斷MD5或SHA-1會使衝突經常發生。現在我想知道是否最好截取20個字符的MD5值或SHA1值。
你有這些散列的任何所需的屬性?它們應該是加密安全的,還是足夠用於散列表? – templatetypedef 2011-01-28 09:02:00
難道你不能在十六進制(或base64)中輸出SHA1或MD5哈希字符串,如果需要的話可以截斷爲20個字符? – 2011-01-28 09:03:35