社区
Delphi
帖子详情
delphi中多个文件压缩问题
newenter15
2010-12-28 04:07:55
我现在使用VclZip.pro.v3.10.1第三方控件把多个文件进行压缩,以得到它的MD5值,可当我再用WinRAR工具把同样的文件进行压缩的时候,发现两个压缩包不一样,所以得到的两个MD5值也不一样,请问我该怎么做,才能使两个包大小一样呀?
...全文
194
14
打赏
收藏
delphi中多个文件压缩问题
我现在使用VclZip.pro.v3.10.1第三方控件把多个文件进行压缩,以得到它的MD5值,可当我再用WinRAR工具把同样的文件进行压缩的时候,发现两个压缩包不一样,所以得到的两个MD5值也不一样,请问我该怎么做,才能使两个包大小一样呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ffwin
2010-12-29
打赏
举报
回复
还是直接算文件的CRC32吧,与压缩率无关
newenter15
2010-12-29
打赏
举报
回复
[Quote=引用 3 楼 keeley20 的回复:]
压缩算法不一样,导致压缩后的体积不同,可以不使用第三方控件,直接调用Winrar对文件进行压缩。
[/Quote]
没有直接调用WinRAR压缩多个文件的例子
haitao
2010-12-29
打赏
举报
回复
[Quote=引用 11 楼 cnewenter 的回复:]
引用 9 楼 sz_haitao 的回复:
原文件,原文件的md5值
一起压缩
客户解压,得到 原文件,md5值,
计算原文件的md5值 和 解压出来的md5值,两者是否对应
即原文件是否无误
移交给客户的必须是原文件,他们不需要压缩包,这个问题很头痛
[/Quote]
那就:
原文件,原文件的md5值m1
一起压缩,压缩包的md5值m2
传压缩包到客户那里,计算压缩包的md5值m3,是否等于m2
不等,则重新传
解压,得到 原文件,md5值m1,
计算原文件的md5值m4
如果m1=m4,即原文件是否无误
newenter15
2010-12-29
打赏
举报
回复
[Quote=引用 9 楼 sz_haitao 的回复:]
原文件,原文件的md5值
一起压缩
客户解压,得到 原文件,md5值,
计算原文件的md5值 和 解压出来的md5值,两者是否对应
即原文件是否无误
[/Quote]
移交给客户的必须是原文件,他们不需要压缩包,这个问题很头痛
Frank.WU
2010-12-28
打赏
举报
回复
[Quote=引用 7 楼 cnewenter 的回复:]
客户的要求是不管用什么样的工具,结果都要一样的
[/Quote]
这个不可能实现。
haitao
2010-12-28
打赏
举报
回复
原文件,原文件的md5值
一起压缩
客户解压,得到 原文件,md5值,
计算原文件的md5值 和 解压出来的md5值,两者是否对应
即原文件是否无误
keeley20
2010-12-28
打赏
举报
回复
压缩算法不一样,压缩率不一样,导致压缩后的体积不同,MD5肯定不同,同样是RAR,不同的版本,或者不同的选项,压缩同一个文件,得到的文件MD5未必相同。
newenter15
2010-12-28
打赏
举报
回复
[Quote=引用 6 楼 keeley20 的回复:]
引用 4 楼 cnewenter 的回复:
现在我做的是,把多个文件压缩之后得到MD5值,然后把这些文件和得到的MD5值交给客户,然后客户再对这些文件进行压缩把得到的MD5值与我们交给他的MD5值进行比较,如果一样的说明文件没有损坏,可现在的问题是就算文件没有损坏也有可能出现两个MD5不一样的情况,这怎么办呀?
你和客户共用你自己写的压缩工具不就可以了。
[/Quote]
客户的要求是不管用什么样的工具,结果都要一样的
keeley20
2010-12-28
打赏
举报
回复
[Quote=引用 4 楼 cnewenter 的回复:]
现在我做的是,把多个文件压缩之后得到MD5值,然后把这些文件和得到的MD5值交给客户,然后客户再对这些文件进行压缩把得到的MD5值与我们交给他的MD5值进行比较,如果一样的说明文件没有损坏,可现在的问题是就算文件没有损坏也有可能出现两个MD5不一样的情况,这怎么办呀?
[/Quote]
你和客户共用你自己写的压缩工具不就可以了。
newenter15
2010-12-28
打赏
举报
回复
没有人知道吗?
newenter15
2010-12-28
打赏
举报
回复
现在我做的是,把多个文件压缩之后得到MD5值,然后把这些文件和得到的MD5值交给客户,然后客户再对这些文件进行压缩把得到的MD5值与我们交给他的MD5值进行比较,如果一样的说明文件没有损坏,可现在的问题是就算文件没有损坏也有可能出现两个MD5不一样的情况,这怎么办呀?
keeley20
2010-12-28
打赏
举报
回复
压缩算法不一样,导致压缩后的体积不同,可以不使用第三方控件,直接调用Winrar对文件进行压缩。
newenter15
2010-12-28
打赏
举报
回复
可是压缩大小不一样,得到的两个MD5值就会不一样呀。
bdmh
2010-12-28
打赏
举报
回复
各自有各自的压缩算法,你以为天下 压缩软件都一样呀
使用
Delphi
ZIpVCL控件
压缩
解压Zip
文件
使用ZipVcl控件来解压ZIp
文件
,能把
多个
文件
压缩
成ZIP
文件
让
Delphi
的TZipFile
压缩
类支持
压缩
密码的扩展类
有些人可能已经知道,
Delphi
(至少从XE2起)附带了一个内置的TZipFile类,用于读写zip
文件
。这是一个只是功能有限的一个相当基础的类,但这对于日常工作来说可能就够了。 在最近将项目从
Delphi
7迁移到
Delphi
10.1...
Delphi
基于zlib类库实现
文件
压缩
程序.rar
Delphi
基于zlib类库实现
文件
压缩
程序,据说zlib
压缩
率可达到80%,不知是真是假,不过即使达不到这么高,也不会比WINRAR差不太多吧,这个程序将调用zlib类库,实现
Delphi
代码的
文件
压缩
程序。
Delphi
的ZIP
压缩
控件
该控件可以实现
DELPHI
的
压缩
技术,将一个
文件
或者
文件
夹
压缩
成ZIP包,同时可以设置
压缩
的密码。
一个包括超多函数的
Delphi
函数单元 MyUnit.pas
文件
代码.rar
与大家收集分享一个
Delphi
函数单元 ,
文件
名称为:MyUnit.pas,里面包括了超多的自定义函数,是自己在开发过程
中
不断丰富完善的一个函数库,
文件
中
包括了
文件
压缩
函数、字符串转换函数、字符过滤函数、字符串截取...
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章