伪造名称数据到MySQL查询

时间:2013-04-23 16:54:37

标签: mysql scripting obfuscation anonymize

我有一个包含一些机密个人信息的数据库。出于数据分析的目的,我想将这些数据发送给某些人。但是,需要保持数据的匿名性。

我有没有办法生成假表来进行JOINS,而不是JOIN到具有实名的user表,我动态生成表fakeuser并加入到该表代替。

我知道它可以手动完成,但查询不会在整个数据库中的所有用户上运行,并且动态完成它是很好的,即当查询调用fakeuser ID 23时ID不存在,它只是从某个地方选择一个随机名称并填充表和查询。

如果MySQL不够灵活,我可以通过其他类型的脚本执行此操作。

1 个答案:

答案 0 :(得分:0)

这似乎是一个非常简单的任务,但它涉及几个步骤,我不知道你被困在哪里。

您需要一个名称列表,您可以通过随机生成字母组合(提供不可读的名称)来获取这些名称,或者您可以找到公开的名称来源(可能是http://www.listofbabynames.org/)。

然后你需要一个循环来通过从列表中随机选择名称来在fakeuser表中插入记录。您只需要确保不为fakeuser中的不同记录指定相同的名称。这可以通过在您选择名称时从列表中删除名称来完成。如果列表不够大,您可以生成组合。

我也会仔细考虑@eggyal给出的建议/文章,看它是否适用于你的情况。如果您需要更好的解决方案,我认为有很多关于匿名化数据的工作。