php – 搜索MySQL中加密数据的过滤器

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 搜索MySQL中加密数据的过滤器脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
查询说明:假设我有一个@R_419_2489@表,它以加密形式存储所有用户的数据.我有一个功能,管理员可以搜索用户数据.现在的问题是,管理员将在文本框中输入普通文本,我必须根据管理员的输入过滤用户列表(在每次文本更改时).同时,我有一堆加密形式的数据,我必须根据管理员输入的普通文本对其进行过滤.

到目前为止我提出的解决方案是,我首先解密所有数据,然后应用过滤器.但我很想知道,如果我的@R_419_2489@中有数百万条记录,那么当前的方式似乎毫无用处且效率低下.

任何人都可以帮我以最有效的方式搜索加密数据吗?

任何帮助将不胜感激!

谢谢.

解决方法

你是对的,这不是一个可扩展的解决方案.如果您想深入研究此问题,请参阅:Building Searchable Encrypted Databases with PHP and SQL .

你想要做的是:

>使用经过身份验证的加密,按原样存储加密数据.
>在密文旁边存储明文的盲目索引.

>盲目索引可以是HMAC-sHA256(纯文本,separate_key)
>敏感值应使用sodium_crypto_pwhash()或hash_pbkdf2()代替.
>要节省空间,请截断盲目索引并将其视为Bloom过滤器.

这为您提供了两全其美的优势:数据加密可抵御被动和主动攻击,但也允许在快速SELECT查询中使用.

脚本宝典总结

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

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

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