mysql 加密存储&加密字段模糊查询

Mysql 数据加密存储

通常数据库自带有加解密函数,如MySQL的PASSWORD ,MD5,AES_ENCRYPT等等。对于密码等信息可以采用单向加密,验证的时候用同样的方式加密匹配即可。而对于需要比对原内容的模糊查询,则需要使用双向加密,也即可以解密,在MySQL可以使用自带的AES加密。

// 加密
UPDATE wk_user_refused set name=HEX(AES_ENCRYPT("[email protected]", "wifi")) WHERE id="b9ir2b7";

// 加密
UPDATE wk_user_refused set name=HEX(AES_ENCRYPT(`name`, "wifi")) WHERE id="ze57r460";

// 解密
SELECT AES_DECRYPT(UNHEX(`name`), "wifi"),email FROM wk_user_refused WHERE id="b9ir2b7";

加密字段如何模糊查询,如下

SELECT AES_DECRYPT(UNHEX(`name`), "wifi"),email FROM wk_user_refused where AES_DECRYPT(UNHEX(`name`),'wifi') like '%3%';

你可能感兴趣的:(mysql 加密存储&加密字段模糊查询)