需要:我需要能够在我的数据库中存储AES加密的用户数据(日记条目),并且这些条目必须是纯文本可搜索的。
问题: MySQL以纯文本形式向其日志输出查询。
历史记录:我已经通过让MySQL处理加密并使用AES_DYCRYPT
和LIKE
进行搜索来完成所需的行为,但这意味着MySQL正在输出我的用户条目以及我的AES密钥以纯文本形式显示在其日志中。
可能的解决方案:我在将数据发送到MySQL之前尝试将加密步骤移动到服务器,但是无法让数据库处理解密,因此纯文本搜索确实使事情变得复杂。我不想拉入所有特定用户的条目,然后根据服务器的文本查询过滤它们。
问题:在决定使用MySQL的AES_ENCRYPT
函数时,MySQL以明文形式将所有查询输出到其日志这一事实有多大?我应该只使用MySQL的加密函数,所以我也可以使用它的LIKE
功能,或者我应该在服务器上加密并查看其他解决方案,例如将单词索引存储为新列,这样我仍然可以提供某种类型的文字搜索?
我应该注意到我正在使用托管的MySQL解决方案,在我目前支付的价格点上,我不允许自己管理管理员设置。托管公司可以访问日志。
谢谢!