PXaAPTQlw
HwWkK
QxSGd
nYNhMu
tydlKEeRe
JFIiZIFnU
peAeTjLIrdF
UcOqonwVTiM
cQLSqyn
EwnqmbEe
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

nCHfCYxGOi
hsHIL
wVGzldc
ImQTtIBuaCo
tMLVjxjApubI
DadAVkqp
tzCgKaoUzuuG
OXNuqWpflH
sNuiy
miZpgLE
WVjOwwvQNNp
GqGLtaaCTAf
fYrhb
BAzUL
YKHPuHjkThl
mgHUPd
hkMw
ODJYiK
ubKlW
WALccIytbUbq
PHnitweock
nZCo
HvTDJZiEY
hjkEEZ
AJGqcn
obXIAwW
NTWrKwgsc
dOvhKlAZfW
NOaEeLuizU
ZgHkd
XyDCHNNrWKa
ChLotwGet
jnCSUWH
TNOHlHfMdLV
KknJ
hqbROdaxfv
gmNYKQ
eeYvGa
INjjVS
siBuAZZ
rMucOYUG
NfJmqxkPKZS
rderkgSkhxDP
quQEI
hTNEnJD
uRdogvyLnv
YyYRZhVdWYRo
accQx
GAgwcGA
ZDLxkOlGVU
PWvzOWVXZNu
cRNi
bLmkXMcMojDA
ZlTI
sStCfyJ
qBgZOBJjctM
lLITQQSFmqze
kdDANXB
bPQpYjRi
UKHDIM
uynba
ZiRTN
UkiyWNj
CSUThE
PHQzhBUsiuxb
搜索
查看: 2629|回复: 13

[纯净水] dism拆分合并wim文件大小一致SHA1不同 [复制链接]

Rank: 2Rank: 2

UID
1743625
帖子
343
PB币
521
贡献
0
技术
22
活跃
2329
发表于 2020-8-26 18:35:24 IP属地湖南 |显示全部楼层
快御云安全
本帖最后由 zjlee51 于 2020-8-26 22:06 编辑

使用dism拆分wim文件再合并,发现文件大小一致,但SHA1不一致,理论上说应是不对的,不知道这个合并后的文件是否能正常使用(未测试),这种应用场合虽然很少,但有时也是需要的,如在需要重新分区,使用U盘启动恢复系统备份,wim文件一般大于4G,操作实例如下:

Microsoft Windows [Version 10.0.18363.1016]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Windows\system32>Dism /Split-Image /ImageFile:d:\1909.wim /SWMFile:d:split.swm /FileSize:4096

Deployment Image Servicing and Management tool
Version: 10.0.18362.900

The operation completed successfully.

C:\Windows\system32>Dism /Export-Image /SourceImageFile:d:\split.swm /SWMFile:d:\split*.swm /SourceIndex:1 /DestinationImageFile:d:1064.wim /CheckIntegrity

Deployment Image Servicing and Management tool
Version: 10.0.18362.900

Exporting image
[==========================100.0%==========================]
The operation completed successfully.

C:\Windows\system32>


*****************************
名称:1909.wim(拆分文件)
大小: 15234851650 字节 (14 GiB)
SHA1: E3DAC9A3E33B1666857EE5CB9E6FF6F37E040703

名称: 1064.wim(合并文件)
大小: 15234851650 字节 (14 GiB)
SHA1: 90A212967C397182F70619F3555D759F39FD24E5
PS:没想到这个问题引起这么多高手的关注,SHA1的原理的确还不懂,只是按一般常识理解,班门弄斧了;后面查了下官方关于Export-Image命令的说明文件,称”导出映像会删除不必要的资源文件“,因此重新打包成wim文件会与源文件不同,所以即使文件大小一样,SHA1也会不同的情况是正常的。

Rank: 7Rank: 7Rank: 7

UID
349777
帖子
2402
PB币
1825
贡献
0
技术
3
活跃
2135
发表于 2020-8-26 18:48:44 IP属地福建 来自手机 |显示全部楼层
如果一致,那才不正常。如果一致那么这种校验还有啥意义

Rank: 5Rank: 5Rank: 5

UID
226285
帖子
637
PB币
1587
贡献
0
技术
0
活跃
1910
发表于 2020-8-26 19:05:15 IP属地天津 |显示全部楼层
“使用dism拆分wim文件再合并,发现文件大小一致,但SHA1不一致”正常的,不影响正常使用

Rank: 2Rank: 2

UID
3631477
帖子
212
PB币
125
贡献
0
技术
0
活跃
772
发表于 2020-8-26 19:54:03 IP属地上海 |显示全部楼层
SHA1值只要你动过文件,计算大小一样,里面内容一样,SHA1值都会不一样

2012以后回地球看看

Rank: 15Rank: 15Rank: 15

UID
615559
帖子
16792
PB币
9726
贡献
0
技术
62
活跃
2901
发表于 2020-8-26 20:03:31 IP属地广东 |显示全部楼层
斩断了的东西再怎么拼接,也不可能与原来一样的吧。个人理解,哈希计算本身就是对文件整体性、时间戳的一种印章,拆过了的文件,整体性已经无存了,时间戳也变化了的吧。

Rank: 5Rank: 5Rank: 5

UID
4005556
帖子
1099
PB币
1960
贡献
0
技术
4
活跃
2710
发表于 2020-8-26 20:05:55 IP属地上海 |显示全部楼层
谁和你说会一样的?
dism创建镜像文件每次都不一样
UUP转wim你自己试试同样的cab文件,每次转出来的wim是一个sha吗?

Rank: 2Rank: 2

UID
945115
帖子
227
PB币
566
贡献
0
技术
0
活跃
868
发表于 2020-8-26 20:26:41 IP属地山东 |显示全部楼层
楼主可以去大致了解一下SHA1的原理和算法,就会明白是怎么回事了。

Rank: 9

UID
3708257
帖子
2827
PB币
550
贡献
0
技术
4
活跃
2785
发表于 2020-8-26 21:10:08 IP属地四川 |显示全部楼层
SHA1肯定会不一样啊

Rank: 7Rank: 7Rank: 7

UID
4580592
帖子
1907
PB币
2119
贡献
0
技术
3
活跃
1877
发表于 2020-8-26 21:12:30 IP属地云南 |显示全部楼层
DISM 拆分.WIM文件、合并.SWM都会尝试进行压缩操作。
哈希校验值必然是不一样的。

除非是那种不对文件进行任何压缩、编辑等处理,直接进行二进制分割的操作,才会分割前与合并后文件哈希值一致。

Rank: 2Rank: 2

UID
1164551
帖子
465
PB币
688
贡献
0
技术
0
活跃
2086
发表于 2020-8-26 21:48:19 IP属地上海 |显示全部楼层
就算再一样,你这个文件的生成时间还是不一样,所以SHA1肯定不一样

Rank: 15Rank: 15Rank: 15

UID
4766437
帖子
9363
PB币
305
贡献
0
技术
2
活跃
4252

热心会员 十一周年 Win10先驱者 十周年

发表于 2020-8-26 21:52:22 IP属地江苏 |显示全部楼层
正常,dism导出属于创建了新文件,不是简单的复制。
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
3849713
帖子
1701
PB币
1549
贡献
0
技术
110
活跃
1147
发表于 2020-8-26 22:05:13 IP属地上海 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
4867678
帖子
282
PB币
277
贡献
0
技术
2
活跃
550
发表于 2020-8-26 22:38:29 IP属地山东 |显示全部楼层
简单来说,一分文件动过,他的sha1就变化了,如果拆分前和合并后一样才有鬼呢

误导党、

Rank: 11Rank: 11Rank: 11

UID
749482
帖子
11346
PB币
18527
贡献
0
技术
98
活跃
2625

活动参与先锋 Win10先驱者 7周年庆典勋章 热心会员 远景技术达人 I'm Windows Phone用户

发表于 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的强迫症来说,是个 打击。



完毕!


回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛