脚本宝典收集整理的这篇文章主要介绍了php – MySQL数据库中加密数据的通配符搜索?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
使用CodeignITer框架和CodeIgniter加密类,我可以在将数据存储到数据库之前对应用程序端的信息进行编码. CodeIgniter加密类使用PHP的mcrypt函数和AES_256密码.
我遇到的问题是我需要允许应用程序的用户搜索使用通配符搜索存储的信息,也可能在以后通过API搜索.
任何机构都会遇到类似问题的解决方案.我已经阅读了有关MysqL AES_ENCRYPT和AES_DECRYPT的内容,但是他们仍然需要在纯文本中来回传递密钥,我不愿意这样做.
但是,这并不意味着没有办法解决这个问题.例如,您可以创建一个inverted index的数据并使用哈希值(sha1,md5,crc32,选择一个)来搜索.所有你需要做的就是散列你正在使用的搜索词,在索引中查找它们并检索匹配的任何记录,这只是表的一小部分而不是整个事物.
通过散列数据(使用盐!),您可以避免以不安全的方式存储数据,同时您仍然可以搜索数据,因为您为它创建了索引.在确定哪些文档匹配之前,不需要解密.
以上是脚本宝典为你收集整理的php – MySQL数据库中加密数据的通配符搜索?全部内容,希望文章能够帮你解决php – MySQL数据库中加密数据的通配符搜索?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。