您的位置:首页 > 编程语言 > PHP开发

PHP Encrypt/Decrypt: Simple class to encrypt url data

2016-10-12 20:14 387 查看
Encryption is useful where critical data is being transferred in url. I have found a simple and secure encryption class with some changes to make it fit for new users. You can use it in Codeigniter websites as well. Just copy it in application/libraries directory
and use it in other libraries style.Here is the code for encryption class.
class Encryption {
var $skey 	= "SuPerEncKey2010"; // you can change it

public  function safe_b64encode($string) {

$data = base64_encode($string);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
return $data;
}

public function safe_b64decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
return base64_decode($data);
}

public  function encode($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));
}

public function decode($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);
}
}

You need to include this class any where in to make your data encrypted with simple encode() or decode() functions.
If you are using it in Codeigniter then use like this

$this->encrypt->encode('Your data');
$this->encrypt->decode('Your encrypted data');
http://www.99points.info/2010/06/php-encrypt-decrypt-functions-to-encrypt-url-data/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: