• 新希望!中超19岁新星半年增重十斤 曾戏耍恒大两国脚 2018-10-17
  • 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • 車·晓 第26期 車企官方降价真相幾何? 2018-10-12
  • 宝沃总裁杨嵩:曾和奔驰宝马同水平 已不能同日而语 2018-10-11
  • 新时代党员干部要有更大的担当和作为 2018-10-10
  • “2018-雷霆”专项行动破获百余起台湾间谍案 2018-10-09
  • 朝韩首脑今起在平壤会晤 “金文会”将聚焦三大议题 2018-10-09
  • 2018顺义啤酒节--北京频道--人民网 2018-10-08
  • 台湾遭遇的“断交潮”有无化解之道? 2018-10-08
  • 习近平会见爱沙尼亚总统卡柳莱德 2018-10-08
  • 中国空间站研制建设正有序开展 坚持和平利用 2018-10-07
  • PHP加密解密的类

    栏目: 编程语言 发布于: 2014-04-27 14:21:35

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

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

    该类使用方法:

    $sc=new SysCrypt('http://www.rocksun.cn');
    $text='yhm.1234@163.com';
    $test1=$sc->encrypt($text);
    echo '原文:',$text;
    echo '<br />';
    echo '密文:',$test1;
    echo "<br/>";
    echo '解密:',$sc->decrypt($test1);

    输出结果类似:

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

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:PHP加密解密的类
    IT技术书籍推荐:
    深入理解MySQL核心技术
    深入理解MySQL核心技术
    Sasba Pacbev (作者), 李芳 (译者), 于红芸 (译者), 邵健 (译者)
    《深入理解MySQL核心技术》:从公共可用性的意义上讲,MySQL源代码是开放源代码,但如果对其不了解,则实质上,它对于您来说是封闭的。MysQL开发团队的前成员Sasha Pachev通过《深入理解MySQL核心技术》给出了MySQL 5的全面指南,揭示了这一强大数据库的内部运作。您将直奔MySQL核心技术,了解各种数据结构和各种方便的功能的运作情况,了解如何添加新的存储引擎和配置选项等。 《深入理解MySQL核心技术》从结构概况讲起,在这一部分解释了MysQL的不同组件是如何协同工作的。接着将学习设置有效的可编译代码副本的步骤,然后使用基本架构添加自己的配置变量和存储引擎。