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: [email protected]
> >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]