如何用解密密钥加密和解密pandas数据帧?

问题描述 投票:2回答:2

我有一个300列的df,但有一列ID,我要加密,并允许其他任何人用密钥解密,如果我给他们df作为一个csv。

这可能吗?

我知道如何哈希一个列,但据我所知,我不能解开它或给某人一个密钥来解除它。

先感谢您。

编辑:

df

id
1
2
3

@Wen就是一个很好的例子:

(1:2), (2:3),(3:4)

新的df

id
2
3
4
python python-3.x pandas encryption
2个回答
1
投票

我推荐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数据类型不容易序列化,但如果你只需要一个列名或类似的东西,这可能会很好。


0
投票

我想你可以这样做

key=dict(zip(np.arange(len(df)),df.id))
df.id=np.arange(len(df))
**# for the person do not have the key**

df
Out[640]:
   id
0   0
1   1
2   2


**# for the person who havde the key**

df.id=df.id.map(key.get)

df
Out[642]: 
   id
0   1
1   2
2   3
© www.soinside.com 2019 - 2024. All rights reserved.