繁体   English   中英

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

[英]Encrypting searchable fields in mysql database

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

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

您可能对CipherSweet感兴趣,它提供PHP中的安全认证加密 ,密钥分离和加密搜索(用于SQL数据库)。

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

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

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

使用CipherSweet,您不会获得LIKE或正则表达式支持。 相反,它使用一种称为盲索引的策略(类似于经常使用LIKE算子的方式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM