好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysql AES加密的使用

TABLE `aes_demo` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar ( 255 ) COLLATE utf8_bin DEFAULT NULL , `password` varchar ( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8 COLLATE = utf8_bin;

使用如下sql插入一条数据:

 INSERT   INTO   aes_demo (NAME, PASSWORD)
  VALUES  
    (
          ‘  tom  ‘  ,
        HEX(AES_ENCRYPT(  ‘  666  ‘ ,  ‘  1  ‘  ))
    ); 

结果如下:

 +  --  --+------+----------------------------------+ 
 |  id  |  name  |  password                          | 
 +  --  --+------+----------------------------------+ 
 |    4   |  tom   |  0A6187FF44BEB44F651AAD3BB4003360  | 
 +  --  --+------+----------------------------------+ 

使用了AES加密函数,AES函数的两个参数分别是(待加密数据,密钥)。

注意:此处使用HEX函数转换是因为不转换直接插入会报错。

相应的解密查询如下:

 SELECT  
    AES_DECRYPT((UNHEX(PASSWORD)),   ‘  1  ‘ )  AS   PASSWORD
  FROM  
    aes_demo; 

结果如下:

 +  --  --------+ 
 |  PASSWORD  | 
 +  --  --------+ 
 |   666        | 
 +  --  --------+ 

备注:

AES是一种对称加密算法;

加密算法的特点是能够通过密钥正向加密和逆向解密;

而摘要算法只能正向的生成摘要,无法反向的还原回数据。

mysql AES加密的使用

标签:into   creat   not   sql   from   engine   特点   摘要   encrypt   

查看更多关于mysql AES加密的使用的详细内容...

  阅读:29次