日期:2014-05-17  浏览次数:21246 次

一个文件的md5值是仅通过文件内容生成,还是文件内容加文件名等其他信息?
一个文件的md5值是仅通过文件内容生成,还是文件内容加文件名等其他信息?

------解决方案--------------------
"还是文件内容加文件名等其他信息"

这个,楼主就不能测试下,改一下文件名再算md5不就知道了,

一般肯定是由文件内容来算md5的,否则文件名一改就认为是两个文件了,意义又何在!!!

md5本身就是为解决文件名一致时内容被纂改的情况的

所以,,,

当然,md5不就是一个摘要算法,哪个家伙计算时硬把文件名也算进去,这是他工具本身的事,
把楼主姓名也加进去算,不是一回事,工具是工具,由工具本身的做法决定!!!
------解决方案--------------------
一个文件的MD5或者是其他Hash值,都是计算文件的每个字节得到的结果,与文件名是没有关系的
------解决方案--------------------
上面解答得很详细了,
------解决方案--------------------
建议你用Hash来检测md5值
------解决方案--------------------
md5是通过hash算法实现的报文摘要,只能单向加密,及不能将报文摘要通过解密还原出报文来,应该只跟文件内容都有关,只是将文件内容进行加密后的压缩,不明白cds的意思,你将文件拷贝到U盘里面后重新算过文件的MD5值么,然后与为拷贝之前的MD5值进行的比较么
------解决方案--------------------
探讨
随便在这里问一下吧,将稍大一点的文件传到u盘上MD5值就变了,求解释

------解决方案--------------------
hash只计算文件里面的内容, 与文件的名字, 修改日期等无关
如果你学过C语言, 那就是用fopen之后, 只使用fread读出来的内容进行hash运算
刚才上面有错字, 不好意思