Re: mcrypt_encrypt help needed
| From: | Matijn Woudt | Date: | Wed, 30 Nov 2011 21:25:35 +0000 |
| Subject: | Re: mcrypt_encrypt help needed | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-315902@lists.php.net to get a copy of this message | ||
On Wed, Nov 30, 2011 at 10:18 PM, Adam Richardson <simpleshot@gmail.com> wrote:
> On Wed, Nov 30, 2011 at 4:14 PM, Matijn Woudt <tijnema@gmail.com> wrote:
>
>> On Wed, Nov 30, 2011 at 9:57 PM, Rick Dwyer <rpdwyer@earthlink.net> wrote:
>> > Hello all.
>> >
>> > I am using the following function to encrypt a string:
>> >
>> > define('SALT', 'myvalueforsalthere');
>> >
>> > function encrypt($text)
>> > {
>> > return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SALT,
>> > $text, MCRYPT_MODE_ECB,
>> > mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,
>> MCRYPT_MODE_ECB),
>> > MCRYPT_RAND))));
>> > }
>> >
>>
>> Can you post your decrypt function too?
>>
>> You create a random IV here, don't you need that IV to decrypt too?
>>
>>
> You're normally right, Matijn,
>
> However, ECB mode doesn't use an IV, so even though he's generating an IV,
> it's not being used (and, the benefit of an IV is one of the main reasons
> you try to avoid ECB.)
>
> Adam
Ah, I see, you're right. I thought he was using CBC (which I would recommend).
That also means that example #1 is wrong at mcrypt_encrypt help page[1].
Matijn
[1] http://php.net/manual/en/function.mcrypt-encrypt.php#example-884