Hi, Wednesday, January 7, 2004, 8:54:16 AM, you wrote: GCN> Tom,
GCN> I appreciate the suggestion, but even after setting the iv to zero GCN> within the php code and including the --noiv option within the command GCN> line; it still does not produce the same base64 encoded string under GCN> both methods. GCN> I noticed that the command line was keying off of 2 passphrases and the GCN> php code off of only 1, so I forced the command line to key off of only GCN> 1 passphrase--to no avail. GCN> I am obviously missing something. Someone out there has had to have GCN> done this at least once before. GCN> Any other suggestions would be appreciated. GCN> Respectfully, GCN> Gary The only way I could get it to work was using an encryption class of mine and a php command line script. The mycrpt command line just didn't get it right. Here is what I did <?php $key = 'test'; $data[] = 'abcdefghijklmnopqrstuvwxyz'; $m = 0; class encrypt_class{ var $secret; function encrypt_class(){ $this->secret = 'test'; } 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; } } $code = new encrypt_class(); foreach ($data as $dt) { $CRYPT[$m] = $code->encode($dt); $DECRYPT[$m] = $code->decode($CRYPT[$m]); echo "crypt_".$CRYPT[$m]."_<br />\n"; echo "decrypt_".$DECRYPT[$m]."_<br />\n"; $m++; } ?> shell script decode.php 'encrypted string' #!/usr/bin/php <? Function decode($eid){ $secret = 'test'; $id = $iv = 0; $td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, ""); $key = substr($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; } echo decode($argv[1]) ?> -- regards, Tom -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php