On Wed, Nov 30, 2011 at 3:57 PM, Rick Dwyer <rpdwyer@xxxxxxxxxxxxx> 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)))); > } > > and then: > > $myval="hello"; > $mayval= encrypt($myval); > > > echo decrypt($myval); > > returns "hello".... great. > > > > But when my input string is more complicated I get unprintable characters > out of the decyrpt side: > > $myval="var1=1&var2=2&var3=3"; > > The above when decrypted will spit out a string of unprintable characters. > Is encrypt/decrypt choking on the "=" sign? I tried: > > $myval=htmlentities($myval); > > But it did not work. Any help is appreciated. > > Thanks, > > --Rick > Hi Rick, Can you show us the decrypt function, too (even though it should be just the reverse order of operations using a decrypt function, I'd just like to double check it before commenting.) By the way, I wouldn't recommend using ECB mode unless you have a special circumstance: http://www.quora.com/Is-AES-ECB-mode-useful-for-anything Adam (Sorry for the duplicate, Rick, I forgot to reply all the first time.) -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com