问题描述
这篇文章might be related to this one。我想用密码或令牌加密 .csv 文件。然后,我想编写一个脚本,使用密码解密文件,将 .csv 文件作为数据框读入,然后继续对内容进行数据分析。如何实现这一目标?
示例:
{{1}}
解决方法
您可以使用加密库来创建加密方案。
创建密钥:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
f = Fernet(key)
将该密钥保存在某处!
当你想加密时加载你的密钥!
def load_key():
return open(PATH TO SECRET KEY,"rb").read()
加密您的文件
def encrypt_it(path_csv):
"""Takes a message an encrypts it
"""
key = load_key()
encrypted = ''
# create Fernet using secret
f = Fernet(key)
with open(path_csv,'rb') as unencrypted:
_file = unencrypted.read()
encrypted = f.encrypt(_file)
with open('encrypted_file.csv','wb') as encrypted_file:
encrypted_file.write(encrypted)
稍后再读一遍:
def decrypt_it(path_encrypted):
key = load_key()
f = Fernet(key)
decrypted = ''
with open(path_encrypted,'rb') as encrypted_file:
decrypted = f.decrypt(encrypted_file.read())
return decrypted