解决场景:
需要对应用数据存储时采取加密,比如手机号码、地址、证件号
方案:
其中:
加解密函数存储在数据库中定义;
加解密使用的key在应用中定义(定义后不可改变);
示例:
测试用表:
1 | CREATE TABLE `sys_user` ( |
插入:
1 | INSERT INTO `sys_user` (`user_name`, `user_mobile`) VALUES |
存储结果:
查询:
1 | SELECT |
查询结果:
模糊匹配:
1 | SELECT |
查询结果:
注意事项:
加解密函数:加解密函数存储在数据库中定义,与应用无关;
key :加解密使用的key在应用中定义(定义后不可改变);
由于加密后的长度可变,适当增加加密字段定义长度;
Mysql:
加密函数:
1 | DELIMITER $$ |
解密函数:
1 | DELIMITER $$ |