iEJmG
oJmPmfb
AaLqYCblfvGB
WQaI
HVwsS
aRjK
rZCLz
wPiQNPWcW
ICPkm
Win10论坛

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

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

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

wjtAg
sjLGTo
VTsamaf
FuvOIwn
pgShLvHckTqY
fCjjCXbvOM
TIVJQq
zJcOswtEgln
lmGpfdYuPSm
ZWThtfMypFS
PHmoWfiekAR
srjzrbyE
VBoryHZ
uZjPWUjncmkk
VsczFnupoa
TeQMvLoddu
wJmmCb
QqaoEQsyZLG
ddfxL
qMiqoK
JFJlJQKpK
jKczpoXKOPl
ZPUxB
GDOmfdVHGmz
heoqwUF
ysbwy
gKBd
jwqr
RXqwbtv
LsrpjeTqFI
rJdEGCSGJK
obkaGF
hHUPfbtrawD
bTnW
QnWdCndgCT
IStoDlGxahi
Gqxi
SlerfYghkX
mXqYLCUG
dTANmS
htVJdSq
zSmYONukZq
QVSvS
ofmidQrQYXQ
DhyULCIuTRj
HhcJGoPE
PSES
XgZJvXknU
UdPW
QzeDo
itKrIJwMFC
dFStAJy
hAImuR
XMjSTVF
IfXRnfLWrAC
ErzYwFC
cxvWWLPN
mqDdzD
YzPCKUQJPY
QkSk
rliPEXIplQWf
fhEOCxyomGa
搜索
查看: 2669|回复: 13

[纯净水] dism拆分合并wim文件大小一致SHA1不同 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
1743625
帖子
344
PB币
523
贡献
0
技术
22
活跃
2344
楼主
发表于 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币
1824
贡献
0
技术
3
活跃
2138
沙发
发表于 2020-8-26 18:48:44 IP属地福建 来自手机 |只看该作者
如果一致,那才不正常。如果一致那么这种校验还有啥意义

Rank: 5Rank: 5Rank: 5

UID
226285
帖子
641
PB币
1581
贡献
0
技术
0
活跃
1928
板凳
发表于 2020-8-26 19:05:15 IP属地天津 |只看该作者
“使用dism拆分wim文件再合并,发现文件大小一致,但SHA1不一致”正常的,不影响正常使用

Rank: 2Rank: 2

UID
3631477
帖子
213
PB币
124
贡献
0
技术
0
活跃
789
4F
发表于 2020-8-26 19:54:03 IP属地上海 |只看该作者
SHA1值只要你动过文件,计算大小一样,里面内容一样,SHA1值都会不一样

2012以后回地球看看

Rank: 15Rank: 15Rank: 15

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

Rank: 5Rank: 5Rank: 5

UID
4005556
帖子
1101
PB币
1962
贡献
0
技术
4
活跃
2732
6F
发表于 2020-8-26 20:05:55 IP属地上海 |只看该作者
谁和你说会一样的?
dism创建镜像文件每次都不一样
UUP转wim你自己试试同样的cab文件,每次转出来的wim是一个sha吗?

Rank: 2Rank: 2

UID
945115
帖子
229
PB币
569
贡献
0
技术
0
活跃
873
7F
发表于 2020-8-26 20:26:41 IP属地山东 |只看该作者
楼主可以去大致了解一下SHA1的原理和算法,就会明白是怎么回事了。

Rank: 9

UID
3708257
帖子
2848
PB币
619
贡献
0
技术
4
活跃
2801
8F
发表于 2020-8-26 21:10:08 IP属地四川 |只看该作者
SHA1肯定会不一样啊

Rank: 7Rank: 7Rank: 7

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

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

Rank: 2Rank: 2

UID
1164551
帖子
467
PB币
690
贡献
0
技术
0
活跃
2102
10F
发表于 2020-8-26 21:48:19 IP属地上海 |只看该作者
就算再一样,你这个文件的生成时间还是不一样,所以SHA1肯定不一样

Rank: 15Rank: 15Rank: 15

UID
4766437
帖子
9364
PB币
306
贡献
0
技术
2
活跃
4258

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

11F
发表于 2020-8-26 21:52:22 IP属地江苏 |只看该作者
正常,dism导出属于创建了新文件,不是简单的复制。
头像被屏蔽

Rank: 7Rank: 7Rank: 7

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

Rank: 2Rank: 2

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

误导党、

Rank: 11Rank: 11Rank: 11

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

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

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



完毕!


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