C-md5会有重复的可能吗?
一般认为任何一个字符串都有一个对应的md5加密串,md5的组成为32位十六进制数字,共有
16^32 = 3.4 * 10^38
种可能,如果将26个英文字母组合成32位字符串将有
26^32 = 1.9 * 10^45
种可能,很显然用英文字母组合的32位字符串的可能性要远多于md5的可能性,如果将字母的组合依次进行md5加密,md5会出现不够用的现象吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
哈希函数只要生成固定长度的结果,根据抽屉原理就能知道会有重复(专业点叫冲突)。
够不够用就要看你的需求,如果冲突概率不大、冲突可容忍、有其他手段来应对冲突,那md5就可能是够用的,例如很多人用md5来做文件的校验和。
MD5意思是:消息摘要算法第五版。既然是摘要,无法保留原有全部信息,当然可能会重复。
默认的MD5 32位,可能会出现重复,但是好的MD5算法一般常用情况下重复概率非常小。
还有64位Md5、128位Md5。