如何使pickled文件在任何文本edi中不可读

2024-09-30 15:32:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我用这个方法创建的pickled文件在文本编辑器中是可读的,如果我们强行打开它

import pickle,os
print os.path.split(__file__)[0]
storloc= os.path.normpath(os.path.join(os.path.split(__file__)[0],"test.pkl"))

newD={"String":"this is the world", "int":1,"float":1.5}
print newD
print storloc
d = open(storloc, 'wb')
pickle.dump(newD,d)
d.close()

如何制作腌制文件(测试.pkl)在任何文本编辑器中都不可读?在


Tags: 文件path方法importospicklefilesplit
2条回答

只需在dump调用中添加第三个参数-它是协议参数,并且只有默认的一个(0)是ASCII编码的-协议1和协议2是二进制的,应该在文本编辑器中修改。在

但是,这个不是安全的—如果您不想看到密码,请检查PyScript,并对您的文件进行适当的加密。在

试图使一个简单的格式(如Python pickles)对密码安全是一个傻瓜游戏。在

请改用^{}包,让操作系统安全地存储密码。在

import keyring

username = # Obtain a stored username or ask the user
password = keyring.get_password('your_application_name', username)

if password is None or verify_password_failed:
    password = # Obtain a password from the user
    keyring.set_password('your_application_name', username, password)

keyring包使用操作系统提供的keyring(osx、Windows、KDE、Gnome),但如果需要,它将返回到自己的加密存储中。在

相关问题 更多 >