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

Mysql 数据加密存储

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

// 加密
UPDATE wk_user_refused set name=HEX(AES_ENCRYPT("33333@qq.com", "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%';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容