解密数据帧Fernet中的列(Token必须是字节)



我希望解密csv文件的一列,我已经加密使用相同的密钥,我已经加密了,当我写那个文件的列。下面是我正在做的:

with open('thekey.key', 'rb') as mykey:
key = mykey.read()
f = Fernet(key)
df =pd.read_csv('codedfile.csv')
f.decrypt(df['Password'])

我确信这会发生,因为Password内部的值类型是字符串(尽管它看起来像b'nqjnnxqwa),但我不知道如何将它们更改为字节。

如果密钥以文本形式写入文件,那么您应该将该文件作为文本文件(而不是二进制文件-rb)读取:

with open('thekey.key', 'rt') as mykey:
key = mykey.read()

您可以使用以下代码将字符串转换为字节:

df['Password'] = df['Password'].str.encode(encoding='utf-8')

最新更新