出于安全考虑,有时会要求数据表存储的敏感字段加密,比如身份证和手机号。
MySQL加密和解密
INSERT INTO user (`idcard`) VALUES(HEX(AES_ENCRYPT('xxx','mango')));
SELECT AES_DECRYPT(UNHEX(idcard),'mango') as idcard from user;
使用PHP语言加密和解密
//加密
$idcard = bin2hex(base64_decode(openssl_encrypt($idcard,'aes-128-ecb', 'mango')));
//解密
$idcard = openssl_decrypt(base64_encode(hex2bin($idcard)), 'aes-128-ecb', 'mango');
- XXX代表身份证
- mango代表密钥
- 使用MySQL算法加密的数据,可以使用PHP的算法解密