2024-06-14 14:51:31 发布
网友
我在(sav.zip)中有一个zipfile,我正在尝试为它设置密码:
zf = zipfile.ZipFile("sav.zip") zf.setpassword("1234")
但是。。。我得到一个TypeError:expected Bytes,get str
我的错在哪里?
文档中没有提到,但是在Python 3上,密码应该是bytes,而不是str。所以:
bytes
str
zf.setpassword(b"1234")
请注意,密码仅用于读取而不是写入!请参阅Python 3中ZipFile.open的docstring。
ZipFile.open
ZipFile类可以读取“pkzip 2.0”加密,这被认为不是很强(它有known weaknesses[pdf])。这可能是目前(从Python 2.7.13和3.6开始)没有用Python实现它们的原因。
ZipFile
注意:zipfile上的密码提供的保护可能不是很强,这取决于您想将其用于什么。攻击者可以例如在不知道密码的情况下替换zipfile中受密码保护的条目!参见security.stackexchange上的this answer。
注2:更新版本的winzip可以使用AES加密压缩文件的内容。阿飞,Python看不懂这些。
文档中没有提到,但是在Python 3上,密码应该是
bytes
,而不是str
。所以:请注意,密码仅用于读取而不是写入!请参阅Python 3中
ZipFile.open
的docstring。ZipFile
类可以读取“pkzip 2.0”加密,这被认为不是很强(它有known weaknesses[pdf])。这可能是目前(从Python 2.7.13和3.6开始)没有用Python实现它们的原因。注意:zipfile上的密码提供的保护可能不是很强,这取决于您想将其用于什么。攻击者可以例如在不知道密码的情况下替换zipfile中受密码保护的条目!参见security.stackexchange上的this answer。
注2:更新版本的winzip可以使用AES加密压缩文件的内容。阿飞,Python看不懂这些。
相关问题 更多 >
编程相关推荐