问题:身份证、手机号加密存储后如何进行模糊查询?
解决:使用数据库自带的AES_DECRYPT进行加密
方法:
select *
from t_user
where AES_DECRYPT(UNHEX(mobile_no_sha),'key')
like 'xxx%';
select HEX(AES_ENCRYPT('明文1', 'key')), HEX(AES_ENCRYPT('1232424', 'key')), HEX(AES_ENCRYPT('text3', 'aaaa'));
select convert(AES_DECRYPT(UNHEX('9B1A7A1DC71307D779C93ACA5E125FC0'), 'key') USING UTF8MB4),
AES_DECRYPT(UNHEX('A1DAD34A097546E873D9064EE448323E'), 'key'),
AES_DECRYPT(UNHEX('0AE69DD49328CAB30FBE5066D18149DD'), 'aaaa');
参考:
https://blog.51cto.com/u_13538361/6383721
http://blog.itpub.net/29773961/viewspace-2142305/
https://blog.csdn.net/csd_nuser/article/details/122909918