用于保护隐私数据的加密工具
可以使用pip安装:
python3 -m pip install cryptwood通过这个工具,可以快速的序列化一个python对象并对其进行加密,然后存储在 与项目目录下。这时,就可以将存在于代码中的对象删除。在希望使用这个对象 的时候只需要解密并反序列化即可。
通过这样的方式,可以避免敏感信息(或者是一切不希望别人看到的信息)不用直接出现在 代码中,也不用明文出现在项目文件中。
被序列化并加密的对象可以是任何类型,包括自定义的类。如果使用自定义类的对象, 在解密时需要保证类存在。
这个这个工具使用了AES256算法对数据进行对称加密。
加密过程中随机产生秘钥和初始向量。 这些文件将被存储在~/.cryptUserDataKey中。
此工具会在项目目录下创建config.ini(如果此文件存在则会直接使用)文件。并在此文件中保存key和iv的存储位置。
当你需要向同学,老师等人展示项目或交作业时(或者仅仅为了安全),使用此工具加密你的信息。
比如加密你的数据库username,passwd,host等信息。
当你需要向客户展示项目时,使用此工具加密一个关键的对象, 使这个项目只能在你的电脑,或者只有你进行授权以后才能运行。
cryptwood.dataCrypter.encrypt(object):
加密object对象并在代码目录下生成加密过的序列化文件.cryptUserData,没有返回值。
生成的key和iv文件存储在~/.cryptUserData文件夹下。文件名为调用此工具的代码 所在位置的上级目录+"key"或"iv"。cryptwood.dataCrypter.decrypt(): 解密.cryptUserData并反序列化,返回一个对象。cryptwood.setPath(rowCustomPath): 用户可以设置key和iv的存储位置。注意的是:rowCustomPath必须是准确的路径, 也就是说'/'一类的特殊字符必须被转义,也就是写成'//'。或者使用r"..."将字符串修饰为row的。cryptwood.getCustomPath(): 允许用户查询key和iv的存储位置。
- 提供使用
ssh将key和iv保存在远程服务器的方法,以便于更高的安全性,以及作者 向用户提供实时的代码授权以保护作者权益。 - 提供同时间加密多个类的方法
- 提供将
key和iv存储在数据库中的方法以便于更高的安全性,以及作者 向用户提供实时的代码授权以保护作者权益。