首页 > 后端开发 > php教程 > PHP加密解密的类

PHP加密解密的类

WBOY
发布: 2016-06-20 13:04:02
原创
1018 人浏览过

分享一个php加密解密的类,在用户注册的时候发送邮件验证的时候估计会用的到的。

代码如下:

<p>class SysCrypt{</p>	private $crypt_key='http://www.scutephp.com';//密钥<br />	public function __construct($crypt_key){<br />		$this->crypt_key=$crypt_key;<br />	}<br />	public function encrypt($txt){<br />		srand((double)microtime()*1000000);<br />		$encrypt_key=md5(rand(0,32000));<br />		$ctr=0;<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$ctr=$ctr==strlen($encrypt_key)?0:$ctr;<br />			$tmp.=$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);<br />		}<br />		return base64_encode(self::__key($tmp,$this->crypt_key));<br />	}<br />	public function decrypt($txt){<br />		$txt=self::__key(base64_decode($txt),$this->crypt_key);<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$md5=$txt[$i];<br />			$tmp.=$txt[++$i]^$md5;<br />		}<br />		return $tmp;<br />	}<br />	private function __key($txt,$encrypt_key){<br />		$encrypt_key=md5($encrypt_key);<br />		$ctr=0;<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$ctr=$ctr==strlen($encrypt_key)?0:$ctr;<br />			$tmp.=$txt[$i]^$encrypt_key[$ctr++];<br />		}<br />		return $tmp;<br />	}<br />	public function __destruct(){<br />		$this->crypt_key=NULL;<br />	}<br /><p>}</p>
登录后复制

该类使用方法:

<p>$sc=new SysCrypt('http://www.scutephp.com');</p>$text='yhm.1234@163.com';<br />$test1=$sc->encrypt($text);<br />echo '原文:',$text;<br />echo '<br />';<br />echo '密文:',$test1;<br />echo "<br/>";<br /><p>echo '解密:',</p><p>$sc->decrypt($test1);</p>
登录后复制

输出结果类似:

原文:yhm.1234@163.com

密文:VSQBZFRpVysCZFVlAWICYghKVGNQMwRkU31bZVFsV28=
解密:yhm.1234@163.com


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板