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

2ic8powd  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(341)

我进入了一个客户要求,我必须加密字段的名字,姓氏,电话号码,用户名在一个大型数据库的机密性。
但如果我使用php函数加密这些字段,我就无法执行sql select( LIKE , = )搜索那些数据。是否可以使用 AES_ENCRYPT 没有太多的性能损失,或任何其他快速实现这一点的方法?

wnvonmuf

wnvonmuf1#

您可能会对ciphersweet感兴趣,它在php中提供安全的认证加密、密钥分离和加密搜索(用于sql数据库)。
ciphersweet不使用mysql的 AES_ENCRYPT() 功能。事实上,你永远都不想依赖mysql的 AES_ENCRYPT() 如果加密数据的目的是向数据库服务器隐藏数据作为纵深防御策略,则函数。
相反,ciphersweet支持两个开箱即用的后端:
fipscrypto仅使用fips 140-2认证应用(aes、sha2、pbkdf2、hmac等)中批准使用的算法
moderncrypto使用libNadium(它更快、更安全,但与只有openssl的现有系统不太兼容)。
有了ciphersweet,你就不会 LIKE 或者regex支持。相反,它使用了一种称为盲索引的策略(类似于 LIKE 运算符(常用)。

相关问题