query string encryption

Hello,

I'm using crypt/rijndael to encrypt data being sent through an HTTP
POST.

Before I send my encrypted string this is what I do:

rijndael = Crypt::Rijndael.new(key)
crypt = rijndael.encrypt_string("test")
escaped_crypt = CGI::escape(crypt)

Then I send the encrypted data to my web service. On my web service, I
do this:

rijndael.decrypt_string(CGI::unescape(params[blah]))

If I do that, it doesn't decrypt my string, it stays encrypted, I made
sure to have the same key on my web service but it still doesn't decrypt
the string. Is there something specific I need to check for concerning
the encoding?

Thanks
M