- 积分
- 5354
- 最后登录
- 2024-5-8
- 精华
- 0
- 阅读权限
- 70
- 主题
- 46
- UID
- 749482
- 帖子
- 11360
- PB币
- 18537
- 威望
- 135
- 贡献
- 0
- 技术
- 98
- 活跃
- 2636
误导党、
- UID
- 749482
- 帖子
- 11360
- PB币
- 18537
- 贡献
- 0
- 技术
- 98
- 活跃
- 2636
|
14F
发表于 2020-8-27 12:18:10
IP属地广东
|只看该作者
wushijun20 发表于 2020-8-26 21:12
DISM 拆分.WIM文件、合并.SWM都会尝试进行压缩操作。
哈希校验值必然是不一样的。
实际上 dism 对文件操作是一致的,就是文件的排序,还有不修改默认的压缩比,实际上压缩比也是一致的。
只是wim是个容器,容器不只是把文件打包还带了张标签纸,这个才是导致每次wim的sha1变动的原因。
对于二进制来说,就是文件的头部多了一些添置属性的表格。
问题1:同样是容器的txt,带时间属性,但同样文字,在不同时间建立,为什么sha1是一致的?
问题2:同样的txt,修改不同的文件名,里面的内容一致,sha1为什么一致?
问题3:同样的txt,不同文件名,压缩成zip,zip的sha1肯定不一致,同样的文件名呢?
问题4:实际上可以实验一下,同一个txt,在不同时间压缩,比如用winrar,在时间选项卡页面中选择压缩时间为:原始压缩文件时间,这样得到rar是不是sha1一致。
所以哪怕不是分割合并,直接解包wim这个压缩包,再重新打包,只要标签纸的时间一项变动,就会让wim的sha1变动了,除非dism能自定义打包时间。
另dism这个wim分割,和别的压缩工具不一样,这个货是不会把文件分割成二进制的,而且排序都是按照字母顺序?(未验证)
把一个2G的wim,分割文件比如700M,2G里有 A1+A2+A3+...+An,A1=500M,A2=350M,A3=300M,那wim分割的swm就是swm=500M,swm1=650M。
实验1:有空的朋友可以尝试下,一个4G的iso文件打包成wim,然后分割成700M,看看什么情况。
实验2:可以自己建立一些文件 ABCD,然后分割,再解包分割文件的排序。并多次打包,分割,然后你就懂了。
但这个并不是这个话题的重点
重点是:分割按这样的排序,那合并也是同样的排序,就不说标签纸问题了。
所以个人认为并不是分割导致文件的变动,从而影响了sha1,纯粹是打包容器的属性标签纸的信息变动而已。
但对于想使用sha1来检验wim的强迫症来说,是个 打击。
完毕!
|
|