note 93798 added to book.mcrypt

From: Date: Wed, 30 Sep 2009 06:21:56 +0000
Subject: note 93798 added to book.mcrypt
Groups: php.notes 
Request: Send a blank email to php-notes+get-161162@lists.php.net to get a copy of this message
<?php /** * standalone class for Encryption * * Features : * This class facilitates encoding data to pass between two can be used for * encoding & decoding for cookie value or url param. * * @author sudhir vishwakarma <sudhir.vis@gmail.com> * @copyright Sudhir Vishwakarma * * @version 0.1 27102008 * */ class Encryption { /** * Set any difficult Key for guessing * * @access public */ var $skey = "-_-donthackit-_-"; /** * This makes url or cookie value safe after encrypting any value * * @access public */ public function safe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; } /** * This makes url or cookie value safe after decrypting any value * * @access public */ public function safe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); } /** * mcrypt libreary required * * @access public */ public function enc($value){ if(!$value){return false;} $text = $value; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv); return trim($this->safe_b64encode($crypttext)); } /** * mcrypt libreary required * * @access public */ public function dec($value){ if(!$value){return false;} $crypttext = $this->safe_b64decode($value); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); } } ?> Example <?php //This class facilitates encoding data to pass between two can be used for //encoding & decoding for cookie value or url param. require_once "Encryption.class.php"; $oEncryption = new Encryption; echo "Encoded Value: ".$oEncryption->enc("sudhir"); echo "<br/>"; echo "Decoded Value: ".$oEncryption->dec($oEncryption->enc("sudhir")); ?> ---- Server IP: 202.65.157.132 Probable Submitter: 122.169.116.213 ---- Manual Page -- http://www.php.net/manual/en/book.mcrypt.php Edit -- https://master.php.net/note/edit/93798 Del: integrated -- https://master.php.net/note/delete/93798/integrated Del: useless -- https://master.php.net/note/delete/93798/useless Del: bad code -- https://master.php.net/note/delete/93798/bad+code Del: spam -- https://master.php.net/note/delete/93798/spam Del: non-english -- https://master.php.net/note/delete/93798/non-english Del: in docs -- https://master.php.net/note/delete/93798/in+docs Del: other reasons-- https://master.php.net/note/delete/93798 Reject -- https://master.php.net/note/reject/93798 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#161162) next »