note 62607 added to function.crypt

From: Date: Sat, 04 Mar 2006 23:08:16 +0000
Subject: note 62607 added to function.crypt
Groups: php.notes 
Request: Send a blank email to php-notes+get-104836@lists.php.net to get a copy of this message
I've made a simple crypt and decrypt function which uses a shared key. When run several time with the same input text and shared key it will generate different crypted-text each time, but it will always be decrypted correct back to the original text. I hope someone finds it useful... <?php function encrypt($s, $key) { for($i=0;$i<=strlen($s);$i++) $r.=substr(str_shuffle(md5($key)),($i % strlen(md5($key))),1).$s[$i]; for($i=1;$i<=strlen($r);$i++) $s[$i-1]=chr(ord($r[$i-1])+ord(substr(md5($key),($i % strlen(md5($key)))-1,1))); return urlencode(base64_encode($s)); } function decrypt($s, $key) { $s=base64_decode(urldecode($s)); for($i=1;$i<=strlen($s);$i++) $s[$i-1]=chr(ord($s[$i-1])-ord(substr(md5($key),($i % strlen(md5($key)))-1,1))); for($i=1;$i<=strlen($s)-2;$i=$i+2) $r.=$s[$i]; return $r; } $key='shared'; $encrypted = encrypt('input text',$key); //encrypts the data using the key echo "$encrypted<hr>"; $decrypted = decrypt($encrypted,$key); //decrypts the data using the key echo $decrypted; ?> ---- Server IP: 194.239.128.8 Probable Submitter: 80.198.156.102 ---- X-Spam-Status: No, hits=3.3 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER, HTML_MESSAGE autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.crypt.php Edit -- http://master.php.net/note/edit/62607 Del: integrated -- http://master.php.net/note/delete/62607/integrated Del: useless -- http://master.php.net/note/delete/62607/useless Del: bad code -- http://master.php.net/note/delete/62607/bad+code Del: spam -- http://master.php.net/note/delete/62607/spam Del: non-english -- http://master.php.net/note/delete/62607/non-english Del: in docs -- http://master.php.net/note/delete/62607/in+docs Del: other reasons-- http://master.php.net/note/delete/62607 Reject -- http://master.php.net/note/reject/62607 Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#104836) next »