需求:实现email字段在数据库中存储为密文。
该字段存储到数据前需要使用AES_ENTRYPT()函数将明文加密。之后,从数据库中读取该字段时,要使用AES_DECRYPT()函数对密文进行解密。
使用:
AES_ENCRYPT(‘要加密的内容’,‘钥匙’)函数可以对字段值做加密处理,AES_DECRYPT(表的字段名称,‘钥匙’)函数解密处理
如:将个人邮箱‘scc326876@qq.com’ 加密,密钥为‘key’.
email = AES_ENCRYPT(‘scc326876@163.com’, ‘key’)
加密后的字符串的长度为2的整数次方。
一般为了避免存储错误,将密文十六进制化,再存入varchar/char列
此处需要用到HEX()存入,用UNHEX()取出。
加密成十六进制
email = HEX(AES_ENCRYPT(‘scc326876@163.com’, ‘key’))