写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.59759381 - 无标题 - 技术宅


回应模式
No.59759381
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2023-10-06(五)09:17:22 ID:pBgksxo [举报] [订阅] [只看PO] No.59759381 [回应] 管理
肥哥们,小肥有问题想问( ゚∀。)
小肥下黄油,发布者给了哈希值,我就产生了一个疑问,两个不同文件的哈希值会一样吗?
于是我百度了一下
哈希值计算的原理可以看做集合A→B的映射
我们输入(百度说是任意长度)a∈A,输出哈希值b∈B
我注意到哈希值的计算结果是用6个英文字母和数字表示的32位字符串,所以B中的元素是有限个,是16^32个。
如果A中的元素个数超过了B中的元素,就会出现多对一的映射,也就是存在m,n∈A,k∈B,使得f(m)=f(n)=k。
这个时候是不是就是这俩输入值m,n的哈希值一样了( ゚∀。)
jp
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
(´゚Д゚`)别抽我行吗
无标题 无名氏 2023-10-06(五)09:19:11 ID:8hxlYPV [举报] No.59759399 管理
基本不会相同
除非你这个截取的值非常短
无标题 无名氏 2023-10-06(五)20:44:20 ID:iZ6aYZ6 [举报] No.59765478 管理
概率极低,即使故意去制造这种冲突难度也极高
无标题 无名氏 2023-10-06(五)20:46:04 ID:iZ6aYZ6 [举报] No.59765503 管理
如果想了解相关内容,关键词哈希碰撞
无标题 无名氏 2023-10-07(六)01:32:04 ID:4WVuFwF [举报] No.59768526 管理
无限映射到有限肯定有重复的
无标题 无名氏 2023-10-07(六)01:33:39 ID:qMeWoiI [举报] No.59768539 管理
po说的32位字符串应该是md5,输出是128位二进制数,写成十六进制就是32位。
摘要算法有很多种,理论上就算是只有128位的md5碰撞率也是非常低的。其实普通的取模运算也可以当做哈希函数,这个碰撞率就非常高了|∀` )
无标题 无名氏 2023-10-07(六)09:57:05 ID:bWO3KdY [举报] No.59770054 管理
你要找的是不是 -> 哈希碰撞
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2023-10-11(三)13:53:17 ID:pBgksxo (PO主) [举报] No.59810834 管理
>>No.59765503
谢谢肥哥,帮大忙了
果然来数码版问来对了
无标题 无名氏 2023-10-16(一)03:15:40 ID:CWtJ5cy [举报] No.59856048 管理
来人,上相同哈希值的那两张jpg图片|∀` )
无标题 无名氏 2023-10-20(五)08:29:35 ID:hmXtdXe [举报] No.59897358 管理
虽然不是一个东西,但是理论来说会的。比如Java中字符串"Aa"和"BB"的hash code都是2112。
无标题 无名氏 2023-10-25(三)14:29:28 ID:jbXXCqS [举报] No.59952872 管理
来人呐,上cryptographic hash function
无标题 无名氏 2023-10-25(三)14:30:05 ID:jbXXCqS [举报] No.59952878 管理
密码学哈希函数一个重要特性就是collision resistance
无标题 无名氏 2024-02-11(日)10:35:36 ID:I4WVjvm [举报] No.61210870 管理
一定会有冲突
冲突概率实际可忽略

你要营造冲突也不是不行,比如给网盘来两个hash一样的文件
无标题 无名氏 2024-02-19(一)00:52:38 ID:63fWF7I [举报] No.61311663 管理
对于传输过程中发生的偶然误差,基本上不可能会出现完全相同的哈希值。而故意构造两个相同哈希的文件的话确实存在可能。目前已知MD5和SHA-0,SHA-1有这方面的风险(已知明文和哈希值的情况下可以通过不是完全暴力的方法推算另一个具有同样哈希的数据,但实际上依然很困难),所以现在要保证文件未经修改会用SHA-256之类的。
但是如果校验完整性只是为了防止传输错误的话,用什么都行。

在P2P下载中,哈希值用于标识文件,确定“你要的是这个文件”,而不会因为其他文件重名或者同一个文件名字不同而错失文件。

某些网盘的秒传也是这个原理,为了防止哈希碰撞,它们可能会同时计算几种不同的哈希值,然后计算大小,截取特定位置的数据然后哈希值等,最大程度上降低碰撞的风险。

UP主: