整个行中的数据库字段加密,包括书籍

时间:2011-03-30 03:06:17

标签: mysql postgresql encryption

我有一个网站的数据库表,其中所有字段都是敏感数据。每行将属于不同的用户(服务,而不是数据库用户)。通常,我通过为每一行生成加密密钥,加密客户端应用程序中的数据,然后将数据存储在二进制字段中来实现此目的。每行还将存储加密密钥,该密钥将由应用程序自己的加密密钥加密。

未加密的表架构包括一些布尔字段和整数。我想知道加密这么小的值是否会导致可能的破解机会?如果有人对如何做到这一点有更好的了解,我也会对此感兴趣。


该计划目前正在使用MySQL,但Postgres是可能的。该应用程序是一个网站,具有从应用程序加密到浏览器的连接,以及从应用程序到客户端的https。


关于选择答案的快速说明,因为几个答案可能是正确的我选择@Jack's因为它不仅会起作用,而且我发现它是一个有趣的建议,我不会考虑这个方向。我非常感谢所有的投入,谢谢。

4 个答案:

答案 0 :(得分:3)

有适用于MySQL的第三方加密解决方案。查看GazzangVormetricPacket General。他们都声称对MySQL有透明的数据加密。

答案 1 :(得分:2)

只要您使用足够大的salt,就可以非常安全地加密布尔值。

当然存储需求会急剧上升,但这只是您要求的安全性的入门价格,而不是“问题”

答案 2 :(得分:2)

我想插话并说布尔语绝对可以加密。从统计上来说,(在他们的加密状态下)他们将是真实的一半时间和他们将是假的一半时间。虽然有些时候它会与当前值相匹配,但有些时候却没有,所以无法知道。

这假设密码的初始化是好的,并且对于每一行都是不同的,但这也是任何文本字段的要求,以防止它们被打开以便于密码分析。

答案 3 :(得分:0)

我认为实际上加密像布尔这样的东西是不可能的,因为布尔只有两个可能的值:true,false,人们可以在有限的时间内猜出值。加密整个记录可能会更好。