php – MySQL数据库中加密数据的通配符搜索?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – MySQL数据库中加密数据的通配符搜索?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个小型Web应用程序,它将为每个插入的人保存大约10条信息.由于数据保护,必须加密大部分此类信息.

使用CodeignITer框架和CodeIgniter加密类,我可以在将数据存储到数据库之前对应用程序端的信息进行编码. CodeIgniter加密类使用PHP的mcrypt函数和AES_256密码.

我遇到的问题是我需要允许应用程序的用户搜索使用通配搜索存储的信息,也可能在以后通过API搜索.

任何机构都会遇到类似问题的解决方案.我已经阅读了有关MysqL AES_ENCRYPT和AES_DECRYPT的内容,但是他们仍然需要在纯文本中来回传递密钥,我不愿意这样做.

我目前的结论是,如果我希望继续这条路线,那么每次进行搜索时,全表解密是我唯一的解决方案(显然不是很好).

好吧,你不能在没有解码的情况下搜索解密文本,这是真的.

但是,这并不意味着没有办法解决这个问题.例如,您可以创建一个inverted index的数据并使用哈希值(sha1,md5,crc32,选择一个)来搜索.所有你需要做的就是散列你正在使用的搜索词,在索引中查找它们并检索匹配的任何记录,这只是表的一小部分而不是整个事物.

通过散列数据(使用盐!),您可以避免以不安全的方式存储数据,同时您仍然可以搜索数据,因为您为它创建了索引.在确定哪些文档匹配之前,不需要解密.

脚本宝典总结

以上是脚本宝典为你收集整理的php – MySQL数据库中加密数据的通配符搜索?全部内容,希望文章能够帮你解决php – MySQL数据库中加密数据的通配符搜索?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。