SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 本文主要给大家介绍了关于MySQL利用AES_ENCRYPT()与AES_DECRYPT()加解密的正确方法,MySQL中AES_ENCRYPT('密码','钥匙')函数可以对字段值做加密处理,AES_DECRYPT(表的字段名字,'钥匙')函数解密处理,文中给出了详细的示例代码,需要的朋友可以参考下,希望能帮助到大家。前言 最近在工作中遇到一个需求是这样的:需要在使用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;
+---------+------+------------------------------------------------------------------------+
|
关键词: MySQL如何正确地运用AES_ENCRYPT()与AES_DECRYPT()加解密