python - 如何使用解密 key 加密和解密 Pandas 数据帧?

标签 python python-3.x pandas encryption

我有一个包含 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/

相关文章:

python - 如何使用多个 contains 变量简化 .str.contains 代码?

python - 从 python pandas 数据框中的前面的行中减去列的行

python - 如何选择满足 Python 中某些条件的列表的元素对?

python - 在 python 中有像 ansible 一样的模块吗?

python - 传递标准 :vector from C++ to Python via Ctypes: getting nonsensical values

javascript - python:如何从下载按钮隐藏链接的网页下载数据?

Python 创建一个包含打乱元素并按对象引用的子列表

python - 定义一个以数字作为名称的 Python 列表

python - 内存 View 和列主/FORTRAN 缓冲区

python - 如何删除两列之间的重复项,但在各自的列中保留唯一值?