有没有办法插入" obfuscatd"文本到MySql中,所以我无法读取我的用户在其中存储的内容?

时间:2014-04-03 13:17:39

标签: php mysql database

我有一个非常简单的桌子,由几个字段构成,其中一些我想被人眼看不懂。 “可读”我的意思是我希望能够使用任何管理工具(例如PhpMyadmin)打开数据库,并将这些字段视为由乱码/受保护的文本组成。

我会尝试重新制定:有没有办法避免客户的评论,例如“但你负责网站和数据库,所以你可以阅读它的所有内容!”。想想私人数据,消息等等。人们不喜欢被任何人“阅读”,当然,甚至不是网站管理员。

在不访问每个木瓦文本信息的情况下管理数据库的最佳方法是什么?

注意:数据库必须可以通过PHP访问,PHP需要运行通常的SQL INSERT,SQL SELECT,...查询。

3 个答案:

答案 0 :(得分:3)

如果您的客户不信任您阅读他们的数据,那么您就会遇到问题。这不是技术问题,而是社会问题。当然,您可以加密他们的数据(甚至只是一个base64编码),使其不是随便可读,但在某些时候,数据必须是可解密的,以便对他们有用。

单向加密(哈希)在这里没有用,因为您需要能够恢复原始内容。固定加密密钥不能完成这项工作,因为您可以随意阅读内容。也许客户端的密码可以用作加密数据的密钥,这样只有他们知道使用的密钥?每当他们更改密码时,都必须使用旧密码对数据进行解密,并使用新密码重新加密。如果他们忘记密码并需要生成新密码,加密数据将毫无用处。

答案 1 :(得分:1)

如果问题是用户不信任带有数据的服务器环境,那么唯一可行的解​​决方案是加密之前的数据到达服务器环境。您没有指定此数据是什么或用例是什么或需要访问它的人,但是有一些方法可以通过以下方式完成客户端加密:

crypto-js

Other viable options are discussed in this SO question

答案 2 :(得分:0)

查看MySQL的参考手册,您可以使用许多功能进行加密/解密。

MySQL reference manual: Encryption and compression functions