Hi, Have you tried this ? i said the length, so you can rise it until working for tests. I used 32k and it works without any problem. I can remind that with a blob it works also : ************************************ mysql> create table t1( asunto varbinary(32000), asun varbinary(16) ); Query OK, 0 rows affected, 1 warning (0.06 sec)
mysql> insert into t1 values(aes_encrypt('aNuevo1','asunto'), 'aNuevo1'); Query OK, 1 row affected (0.03 sec) mysql> select aes_decrypt(asunto,'asunto') as decrypted, asun from t1; +-----------+---------+ | decrypted | asun | +-----------+---------+ | aNuevo1 | aNuevo1 | +-----------+---------+ 1 row in set (0.00 sec) ********************************* But with a small length : mysql> create table t1( asunto varbinary(16), asun varbinary(16) ); Query OK, 0 rows affected (0.08 sec) mysql> insert into t1 values(aes_encrypt('aNuevo1','asunto'), 'aNuevo1'); Query OK, 1 row affected (0.03 sec) mysql> select aes_decrypt(asunto,'asunto') as decrypted, asun from t1; +-----------+---------+ | decrypted | asun | +-----------+---------+ | NULL | aNuevo1 | +-----------+---------+ 1 row in set (0.00 sec) That's why. Hope that helps Mathias Selon Alejandro Alekhine <[EMAIL PROTECTED]>: > Ok, if you´re right ... how can I repair the incorrect padding ?? Because I > think data is correct. It fully respects so fields´ length so as > fields´types. > > Thanks > > >From: [EMAIL PROTECTED] > >To: Alejandro Alekhine <[EMAIL PROTECTED]> > >CC: mysql@lists.mysql.com > >Subject: Re: mysql decrypt > >Date: Tue, 17 May 2005 00:30:55 +0200 > > > >Hi, > >You may have invalid data or incorrect padding when null is retuned : > > > >http://dev.mysql.com/doc/mysql/en/encryption-functions.html > > > >Mathias > > > >Selon Alejandro Alekhine <[EMAIL PROTECTED]>: > > > > > Hi, I´m developing a database with the aes_encrypt and aes_decrypt > > > functions, with integrity constraints and varbinary types. > > > > > > My problem is that when I insert a row into a table, I encrypt with > > > aes_encrypt, but when I desencrypt with aes_decrypt, it returns null > >with > > > some values. The only way I've found is using a blob type instead of > > > varbinary, but this type doesn't support integrity constraints. > > > > > > For example, > > > > > > create table t1( asunto varbinary(16), asun varbinary(16) ); > > > > > > insert into t1 values(aes_encrypt('aNuevo1','asunto'), 'aNuevo1'); > > > > > > select aes_decrypt(asunto,'asunto') as decrypted, asun from t1; > > > > > > The result is decrypted=NULL and asun='aNuevo1' > > > > > > Why ??? The length of the fields is correct, I don´t know why. But if I > > > change varbinary by blob, it runs. But with blob I can´t do any > >integrity > > > constraint. > > > > > > Thanks > > > > > > > > > > > > > > > > > > > >-- > >MySQL General Mailing List > >For list archives: http://lists.mysql.com/mysql > >To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > > > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]