关于MD5的问题请教

村中少年
北京邮电大学计算机专业硕士
博客专家认证
2016-12-13 09:15:08
举一个场景就是对一个字符串str求MD5 得到A,将字符串str分为两个子串分别是str1和str2,分别求其MD5为B和C。请问B和C能通过某种运算得到A吗?
...全文
997 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
村中少年 2016-12-14
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
目前的算法,应该不能吧,除非是撞出 B, C 的原文,重新生成 A
我现在主要是要对在线报文求其MD5,而报文传输的时候是分片传过来的。因此要每一片求其MD5,虽然https://www.ietf.org/rfc/rfc1321.txt文章中的算法提供了缓存,缓存每一片报文中小于64个字节的部分留在下一轮循环的时候使用,但是我现在传参数的时候有内存的要求,不能够过大(不能超过50个字节),因此才会有这个设想?
引用 3 楼 zara 的回复:
这样就有些麻烦了。或许可以这样,生成时,将一个个的 MD5 生成到最后一个 MD5,具体计算方法随便你了,校验时同样的计算方法分块计算得到多个 MD5 最后也形成一个 MD5,两者进行比较?
不行啊,毕竟报文的传递每一次传递的字节数不是固定的
zara 2016-12-14
  • 打赏
  • 举报
回复
这样就有些麻烦了。或许可以这样,生成时,将一个个的 MD5 生成到最后一个 MD5,具体计算方法随便你了,校验时同样的计算方法分块计算得到多个 MD5 最后也形成一个 MD5,两者进行比较?
村中少年 2016-12-13
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
目前的算法,应该不能吧,除非是撞出 B, C 的原文,重新生成 A
我现在主要是要对在线报文求其MD5,而报文传输的时候是分片传过来的。因此要每一片求其MD5,虽然https://www.ietf.org/rfc/rfc1321.txt文章中的算法提供了缓存,缓存每一片报文中小于64个字节的部分留在下一轮循环的时候使用,但是我现在传参数的时候有内存的要求,不能够过大(不能超过50个字节),因此才会有这个设想?
zara 2016-12-13
  • 打赏
  • 举报
回复
目前的算法,应该不能吧,除非是撞出 B, C 的原文,重新生成 A

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧