微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 加密mysql数据库中的可搜索字段

我已经进入客户端要求我要加密字段first_name,last_name,phone_number,大型数据库中的用户名以保密.

但是如果我使用PHP函数加密这些字段,我就无法对这些数据执行sql select(LIKE,=)搜索.是否可以在没有太多性能损失的情况下使用AES_ENCRYPT,或者以其他任何快速方式实现此目的?

解决方法:

您可能对CipherSweet感兴趣,它提供安全的authenticated encryption,密钥分离和PHP加密搜索(用于sql数据库).

CipherSweet不使用MysqL的AES_ENCRYPT()函数.事实上,如果加密数据的目的是将其作为纵深防御策略从数据库服务器中隐藏,那么您根本不想依赖MysqL的AES_ENCRYPT()函数.

相反,CipherSweet支持两个开箱即用的后端:

> FIPSCrypto仅使用经批准用于FIPS 140-2认证应用的算法(AES,SHA2,PBKDF2,HMAC等)
> ModernCrypto使用libsodium(更快,更安全,但与仅拥有OpenSSL的现有系统兼容性较差).

使用CipherSweet,您不会获得LIKE或正则表达式支持.相反,它使用一个名为blind indexing的策略(类似于经常使用LIKE运算符的方式).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐