Aww!  Neat!  That look better than the one I came up with.  Thanks for your
time on this one.

Thanks,
  FletchSOD

"Tom Rogers" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Hi,
>
> Thursday, September 26, 2002, 4:45:04 AM, you wrote:
> SF> How do I encrypt the data and decrypt it back using PHP?  I do know
that hte
> SF> random number can not be used becuase it will make it impossible to
decrypt
> SF> it.
>
> SF> Thanks!
>
> Here is a simple class for encoding and decoding:
>
> class encrypt_class{
>         var $secret;
>         function encrypt_class(){
>                 $this->secret = 'this is a very long key, even too long
for the cipher';
>         }
>         Function encode($id){
>                 $eid = $iv = 0;
>                 $len = strlen($id);
>                 $id = $len.'-'.$id;
>                 $td = mcrypt_module_open(MCRYPT_TripleDES, "",
MCRYPT_MODE_ECB, "");
>                 $key = substr($this->secret, 0, mcrypt_enc_get_key_size
($td));
>                 $iv = pack("a".mcrypt_enc_get_iv_size($td),$iv);
>                 mcrypt_generic_init ($td, $key, $iv);
>                 $eid = base64_encode(mcrypt_generic ($td, $id));
>                 mcrypt_generic_deinit($td);
>           return $eid;
>         }
>         Function decode($eid){
>                 $id = $iv = 0;
>                 $td = mcrypt_module_open (MCRYPT_TripleDES, "",
MCRYPT_MODE_ECB, "");
>                 $key = substr($this->secret, 0, mcrypt_enc_get_key_size
($td));
>                 $iv = pack("a".mcrypt_enc_get_iv_size($td),$iv);
>                 mcrypt_generic_init ($td, $key, $iv);
>                 $id = mdecrypt_generic ($td, base64_decode($eid));
>                 $len = strtok($id,'-');
>                 $id = substr($id,(strlen($len)+1),$len);
>                 mcrypt_generic_deinit($td);
>                 return $id;
>         }
> }
>
>
> Usage
>
> <?
> $word = 'Hello';
> $e = new encrypt_class();
> $encrypted = $e->encode($word);
> echo "encrypted = $encrypted <br>";
> $decrypted = $e->decode($encrypted);
> echo "decrypted = $decrypted <br>";
> if($word == $decrypted){
>         echo "They match <br>";
> }
> else{
>         echo "Oops they don't match <br>";
> }
> <?
> --
> regards,
> Tom
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to