前言: 我们经常遇到由于安全考虑,数据库中一些用户信息比如手机号、身份证号等信息加密保存,但又有一些需要查询匹配的操作,比如手机号模糊匹配的场景,此时就无法直接使用模糊查询了,就需要先进行解密后再执行模糊查询,本文提供了mysql常见的base64+AES加解密操作函数。

  1. mysql操作base64加解密:

    -- base64加密操作函数
    to_base64('要加密的字段或内容')
    -- base64解密操作函数
    from_base64('需要解密的密文')
    
  2. mysql操作AES加解密

    -- AES加密操作函数
    AES_ENCRYPT('要加密的字段或内容','秘钥')
    -- AES解密操作函数
    AES_DECRYPT('需要解密的密文','秘钥')
    
  3. mysql操作base64+AES组合加解密

    -- base64+AES组合加密操作函数
    to_base64(AES_ENCRYPT('要加密的字段或内容'),'秘钥')
    -- base64+AES组合解密操作函数
    AES_DECRYPT(from_base64('需要解密的密文'),'秘钥')
    
  4. 应用示例

    -- 对数据库中加密保存的手机号进行模糊匹配
    SELECT 
    AES_DECRYPT(from_base64(`receiver_mobile`), "ZPRSbC16SSNE535U") as receiver_mobile
    FROM 
    call_send_record 
    WHERE 
    login_name = '18466666289' 
    AND  
    AES_DECRYPT(from_base64(`receiver_mobile`), "ZPRSbC16SSNE535U") like '%456%';
    
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐