我有一个包含 300 列的 df,但有一列 ID
我想加密,如果我将 df 作为 csv 提供给他们,则允许任何其他拥有 key 的人解密。
这可能吗?
我知道如何对一列进行哈希处理,但据我所知,我无法取消哈希处理或给某人一个 key 来取消哈希处理。
提前致谢。
编辑:
df
id
1
2
3
@Wen 这是一个很好的例子吗:
(1:2), (2:3),(3:4)
新的 df
id
2
3
4
最佳答案
我推荐 python itsdangerous
库。这是一个简单的例子:
from itsdangerous import URLSafeSerializer
s = URLSafeSerializer('secret-key')
print(s.dumps([1, 2, 3, 4]))
# 'WzEsMiwzLDRd.wSPHqC0gR7VUqivlSukJ0IeTDgo'
print(s.loads('WzEsMiwzLDRd.wSPHqC0gR7VUqivlSukJ0IeTDgo'))
# [1, 2, 3, 4]
secret-key
可以在您和其他受信任方之间共享,以解密字符串或列。
这确实依赖于序列化,但是一些 python 数据类型不容易序列化,但如果您只需要一个列名或类似的东西,这可能会很好。
我想在这里补充一点,这个过程只是混淆数据,但实际上并没有加密。当我最初回答这个问题时,我并没有完全理解这一点。 这种混淆可能足以满足您的需求,但请注意!来自文档:
The receiver can decode the contents and look into the package, but they can not modify the contents unless they also have your secret key. Docs
关于python - 如何使用解密 key 加密和解密 Pandas 数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52116171/