用于创建加密链接密钥的编码实用程序
clkhash的Python项目详细描述
CLK哈希
密码长期密钥散列的python实现。支持Python版本2.7+、3.5+
这是雷纳·施奈尔、托比亚斯·巴赫特勒和约尔格·赖尔在 A Novel Error-Tolerant Anonymous Linking Code
安装
使用pip:
pip install clkhash
如果在windows上安装bitarray
失败,您可能需要安装适当的
Visual Studio C++ compiler对于您的版本
python的;这是必需的,因为bitarray
库编译了一个c扩展。
文档
https://clkhash.readthedocs.io
cli工具
安装clkhash库之后,路径中应该有一个clkutil
程序。
或者您可以使用python -m clkhash.cli
。
此命令行工具可用于将PII数据处理为加密长期密钥。 该工具还有一个生成假pii数据的选项,以及将散列上载到实体匹配服务的命令。
$ clkutil generate 1000 fake-pii-out.csv
$ head -n 4 fake-pii-out.csv
INDEX,NAME freetext,DOB YYYY/MM/DD,GENDER M or F
0,Libby Slemmer,1933/09/13,F
1,Garold Staten,1928/11/23,M
2,Yaritza Edman,1972/11/30,F
哈希此数据需要架构。您可以使用
$ clkutil generate-default-schema fake-pii-schema.json
或者你可以自己做。
使用共享密钥horse
和staple
:
$ clkutil hash fake-pii-out.csv horse staple fake-pii-schema.json /tmp/fake-clk.json
CLK data written to /tmp/fake-clk.json
注意,密钥只应与其他实体共享,而不应与执行 记录链接。
要在不安装clkhash
的情况下使用命令行工具,请安装依赖项,然后运行:
python -m clkhash.cli
CLKHASH API
使用默认架构散列实体的csv文件:
fromclkhashimportclk,randomnamesfake_pii_schema=randomnames.NameList.SCHEMAclks=clk.generate_clk_from_csv(open('fake-pii-out.csv','r'),('key1','key2'),fake_pii_schema)