我有一个非常简单的桌子,由几个字段构成,其中一些我想被人眼看不懂。 “可读”我的意思是我希望能够使用任何管理工具(例如PhpMyadmin)打开数据库,并将这些字段视为由乱码/受保护的文本组成。
我会尝试重新制定:有没有办法避免客户的评论,例如“但你负责网站和数据库,所以你可以阅读它的所有内容!”。想想私人数据,消息等等。人们不喜欢被任何人“阅读”,当然,甚至不是网站管理员。
在不访问每个木瓦文本信息的情况下管理数据库的最佳方法是什么?
注意:数据库必须可以通过PHP访问,PHP需要运行通常的SQL INSERT,SQL SELECT,...查询。
答案 0 :(得分:3)
如果您的客户不信任您不阅读他们的数据,那么您就会遇到问题。这不是技术问题,而是社会问题。当然,您可以加密他们的数据(甚至只是一个base64编码),使其不是随便可读,但在某些时候,数据必须是可解密的,以便对他们有用。
单向加密(哈希)在这里没有用,因为您需要能够恢复原始内容。固定加密密钥不能完成这项工作,因为您可以随意阅读内容。也许客户端的密码可以用作加密数据的密钥,这样只有他们知道使用的密钥?每当他们更改密码时,都必须使用旧密码对数据进行解密,并使用新密码重新加密。如果他们忘记密码并需要生成新密码,加密数据将毫无用处。
答案 1 :(得分:1)
如果问题是用户不信任带有数据的服务器环境,那么唯一可行的解决方案是加密之前的数据到达服务器环境。您没有指定此数据是什么或用例是什么或需要访问它的人,但是有一些方法可以通过以下方式完成客户端加密:
答案 2 :(得分:0)
查看MySQL的参考手册,您可以使用许多功能进行加密/解密。
MySQL reference manual: Encryption and compression functions