Unable to AES_DECRYPT after AES_ENCRYPT in mysql

前端 未结 4 572
遇见更好的自我
遇见更好的自我 2020-11-27 05:45

I created user table

CREATE  TABLE `user` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`first_name` VARBINARY(100) NULL ,
`address` VARBINARY(200) NOT N         


        
4条回答
  •  忘掉有多难
    2020-11-27 06:37

    From mysql command line client there is no need to use CAST:

    mysql> SELECT AES_DECRYPT(AES_ENCRYPT('admin','abc'),'abc');
    
    +-----------------------------------------------+
    | AES_DECRYPT(AES_ENCRYPT('admin','abc'),'abc') |
    +-----------------------------------------------+
    | admin                                         |
    +-----------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT CAST(AES_DECRYPT(AES_ENCRYPT('admin','abc'),'abc') AS CHAR (50));
    
    +------------------------------------------------------------------+
    | CAST(AES_DECRYPT(AES_ENCRYPT('admin','abc'),'abc') AS CHAR (50)) |
    +------------------------------------------------------------------+
    | admin                                                            |
    +------------------------------------------------------------------+
    1 row in set (0.02 sec)
    

    As you can see using cast in command line is little bit slower. But I have noticed that if you use some tools like phpmyadmin, then you need to use CAST, otherwise result will be wrong.

提交回复
热议问题