我需要对数据库日志文件进行大规模匿名化。
部分内容涉及模糊各种字段名称(字符串)以及IP地址。
1。字段名称
例如,我们可能有字符串BusinessLogic.Categorisation.ExternalDeals
。在匿名版本中,我们希望它类似于Jerrycan.Doorway.Fodmap
(或者是胡言乱语,但仍然“可发音”)
目的只是隐藏原始字符串 - 但是,我们仍然希望能够在不同的日志文件中匹配这些字符串的出现。
哈希的要求是:
HumanReadable
这样的字符串应该映射到类似LizzyNasbeth
的字符串。我环顾四周,发现https://github.com/zacharyvoase/humanhash(输出哈希比我想要的要长一些)和https://tools.ietf.org/html/rfc1751(不是真正的“代词” - 理想情况下,我们想要一些东西看起来像是一个英语人类的单词,但实际上并不是 - 而且,再一次,有点长。)
这个问题有哪些算法或方法?或者您可以推荐的任何库或实现?
2。 IP地址
对于IP地址,我们需要一种方法来屏蔽它们(即外部观察者无法获得原始IP地址),但仍然可以在不同的日志文件中重复(即相同的输入始终产生相同的输出) )。
理想情况下,输出仍然“看起来”像IP地址。例如,也许192.168.1.55将映射到33.41.22.44(或者我们也可以使用字母代码,如果这更容易)。
关于如何做到这一点的任何想法?
答案 0 :(得分:1)
我正和一位同事讨论,他提出了一种方法。
这解决了它总是可重复的问题 - 每次哈希相同的词总是映射到相同的英语单词(假设你的词典列表不会改变)。
如果个人公司担心字典攻击(即字段名称"名字和#34;总是映射说" Paris"),那么我们也可以使用公司特定的密钥文件来盐哈希。这意味着对于来自它们的匿名日志文件是可重复的(即"名字和#34;可能总是映射到"图卢兹"对于他们),但它与其他公司不同使用其他密钥文件。
我仍然非常希望看到其他人可以提出什么建议,或者他们是否对上述内容有任何想法。
答案 1 :(得分:1)