前言
最近在工作中遇到一个需求是这样的:需要在使用AES_ENCRYPT()
函数将明文加密,存储在MySQL中,但是遇到了一些问题……下面就来详细介绍下。
说将加密后的密文,解密取出来是NULL。
看了一下,她发过来的表结构:
再看了她通过AES_DECRYPT()函数加密了一个字符串,然后insert进去了,执行成功后,显示了一个warning:
Query OK, 1 row affected, 1 warning (0.00 sec)
(没有报错而是warning,大概是sql_mode的缘故)
此时她忽略了这个warning,再通过AES_DECRYPT()
解密后,发现取出来的明文为NULL。
再回看表结构,发现其字段属性为“varchar” && 字符集是ut8,检查warning为下:
mysql> show warnings; +---------+------+------------------------------------------------------------------------+ (北联网教程,专业提供视频软件下载)
第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页……