delphi xe12 tzipfile支持密码压缩加密解密功能

delphi 从xe2开始,自带了system.zip 单元,支持压缩解压。但一直对加密解密不能很好的支持。

自从delphi xe12开始,新增了password字段。但如果你设置密码,那么运行后就会报“Zip file cryptor is not specified”的错误。

说是因为法律方面的问题,一波龙没有实现具体的加密解密过程。而只是留了一个cryptor接口。网上找了一下,国外有delphi爱好者实现了这个加密解密接口。

GitHub - UweRaabe/EncryptedZipFile: TZipFile with Password Encryption

github上下载 PKWAREZipCryptor.pas 文件,然后引用该文件。

var zip: TZipFile;
    LocalHeader: TZipHeader;

zip := TZipFile.Create;
      zip.Cryptor:= TPKWAREZipCryptor.Create;
      LocalHeader.IsEncrypted:= true;
      zip.Password:= '123456'; 

……

经测试,使用此接口加密解密正常。且生成的zip文件能与winrar互相解密。

这个接口帮了我的大忙,在此感谢大神的奉献!也顺便介绍给遇到相同问题的朋友。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值