php 加密、解密类与调用实例
发布时间:2016-11-21 编辑:jiaochengji.com
本文分享一个php实现的加密与解密的类,并附有一个调用实例,有需要的朋友参考下。
本节分享的这个加密与解密类,支持二种加密方式,base_64encode与enc加密,并附有解密函数。
代码:
<?php /** * 功能:php加密与解密类 * 可用于加密、解密 cookie值或Url参数 * 编辑:www.jbxue.com */ class Encryption { /** * 设置一个难以猜测的加密种子 * * @access public */ var $skey = "-_-donthackit-_-"; /** * 安全加密URL或cookie值 * * @access public */ public function safe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; } /** * 解密URL或Cookie值 * * @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库 * * @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库 * * @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); } } ?>
调用示例:
<?php /** * 加密与解密数据,包括URL或cookie值等 * 示例参考 */ require_once "Encryption.class.php"; $oEncryption = new Encryption; echo "加 密: ".$oEncryption->enc("sudhir"); echo "<br/>"; echo "解 密: ".$oEncryption->dec($oEncryption->enc("sudhir")); ?>
您可能感兴趣的文章:
php base64加密解密的实现代码
php 加密、解密类与调用实例
php加密与解密类一例
php crypt函数加密和解密的实例分享
php mcrypt加密与解密的小例子
有关discuz程序中PHP加密函数的原理分析
PHP加密扩展库Mcrypt的例子
PHP 数据加密的方法
PHP开发者如何做好密码保护以及Laravel底层密码存储和验证实现
php mcrypt启用、加密以及解密的方法介绍
上一篇:php 图片处理类(附实例)
下一篇:php多键值cookie操作的例子
[关闭]