python解压文件并检查_python脚本简单实现对压缩文件是否加密的检测

本文介绍了如何使用Python脚本来检测zip、rar、gz和tar等压缩文件是否加密。通过zipfile、rarfile库以及尝试解压来判断加密状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为业务需求,需要编写一个脚本实现对压缩文件加密的检测,调研了下,将自己的思路分享下

常见的压缩文件格式有 zip, gz, tar, rar

它们的压缩加密方式不同,分别处理这四种格式

对于zip格式

zip的加密主要是对加密标志位的检测,如果是奇数则为加密,如果是偶数则没有加密。可以通过python标准库的zipfile来实现

def check_zip(file: str) -> bool:

'''

name:

des: 检测zip格式压缩保是否加密

param {传入的文件名}

return {True:文件加密 False:文件没加密}

'''

zf = zipfile.ZipFile(file)

for zinfo in zf.infolist():

is_encrypted = zinfo.flag_bits & 0x1

if is_encrypted:

return True

else:

return False

对于rar格式

加密原理可以百度,python标准库里没有检测rar的库,需要pip install rarfile

def check_rar(file: str) -> bool:

'''

name:

des: 检测rar格式压缩包是否加密

param {传入的文件名}

return {True:文件加密 False:文件没加密}

'''

rf = rarfile.RarFile(file)

is_encrypted = rf.needs_password()

if is_encrypted:

return True

else:

r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值