查看: 3394|回复: 8
收起左侧

[软件] 同一个文件,在不同的电脑上打包成rar,为啥hash不一样。

[复制链接]
mifanu
发表于 2016-9-21 01:47:41 | 显示全部楼层 |阅读模式
本帖最后由 mifanu 于 2016-9-21 01:56 编辑

一个偶然的机会,我发现,在不同的电脑上,打包同一个文件,两个压缩包的hash值[md5]不匹配,这是为啥涅?
后来因为这个疑惑,我还专程测试了3台电脑,用的同一版本的rar。


举个最简单的例子。桌面上新建一个txt,不改名,文本内容为123,然后直接压缩。压缩包的md5是8e2e7abde3e021bad391898d1f19f7b8。
新建 文本文档.txt
新建 文本文档.rar
你们每个人都可以按照我的步骤如法炮制,我坚信没有人的md5和我一样。这是为什么?

ps并不是因为压缩时间不同,我在同一台电脑上,不管什么时间压缩,出来的结果md5都一样的。
fireherman
发表于 2016-9-21 04:28:48 | 显示全部楼层
因为压缩包不但把【压缩率】、【原文件】等写入,还会写入【创建时间】等信息,当然不可能一样。

有例如,你同样用Windows自带的记事本创建2个文本文件,内容同样都一样,然后各自保存,看看MD5/SHA1码等是不是都不一样。
ybb
发表于 2016-9-21 08:58:39 | 显示全部楼层
但文件的hash值[md5]应该是匹配的。
zhenDL
发表于 2016-9-21 14:14:42 | 显示全部楼层
在A电脑上,使用同一版本的压缩软件, 用相同的压缩设置, 压缩相同的一个文件不管你试几次, Hash值都是一样的.
在B电脑上进行同样的操作, 无论试几次, 压缩出来的文件hash值也是一样的, 但却和A电脑压缩出来的不一样,
主要是因为软件压缩时使用的硬件环境和操作系统的不一样, 所以压缩文件不能对比, 但里面的内容Hash值是一样的



天岛男孩
发表于 2016-9-21 23:10:53 | 显示全部楼层
压缩和硬件也是有关的,比如你在同一电脑不同位置压缩同一文件也是不同的MD5/hash值。
可以参考:
http://www.cricode.com/3481.html

里面有两张图片:

评分

参与人数 1经验 +5 收起 理由
woxihuan2011 + 5 感谢解答: )

查看全部评分

sodisky
发表于 2016-9-24 10:50:05 | 显示全部楼层
原来如此,受教了
mifanu
 楼主| 发表于 2016-9-24 13:59:03 | 显示全部楼层
本帖最后由 mifanu 于 2016-9-24 14:03 编辑

我是这样想的。有两种可能。目前尚不确定。
1. 就是rar压缩。和视频压缩一样。不是一一对应的。相当于手工成品,每个都会△有所偏差。也就是说不同的电脑出来的结果不同。

2.就是rar故意造成的结果。因为我觉得,如果rar本意想要保证每个机器压出来的结果相同,应该不是办不到的。
随便注册
发表于 2016-10-4 22:34:40 | 显示全部楼层
被压缩文件的修改时间也一样?存储模式一样吗?7z呢?
jr21066
发表于 2017-5-17 07:23:30 | 显示全部楼层
如果是rar.是不是加了恢复记录了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|优惠券| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.3( 苏ICP备07004770号 ) GMT+8, 2017-7-28 16:58 , Processed in 0.135595 second(s), 8 queries , MemCache On.

快速回复 返回顶部 返回列表