php的一个简单加密解密代码

 更新时间:2014年01月14日 15:58:53   作者:  
分享一个php加密解密的类,在用户注册的时候发送邮件验证的时候估计会用的到的,代码如下

复制代码 代码如下:

class SysCrypt{
 private $crypt_key='https://www.jb51.net';//密钥
 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('https://www.jb51.net');
$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
密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk=
解密:yhm.1234@163.com

相关文章

  • php微信支付之APP支付方法

    php微信支付之APP支付方法

    这篇文章主要介绍了php微信支付之APP支付方法,实例分析了php微信支付接口文件及使用技巧,需要的朋友可以参考下
    2015-03-03
  • php实现把url转换迅雷thunder资源下载地址的方法

    php实现把url转换迅雷thunder资源下载地址的方法

    这篇文章主要介绍了php实现把url转换迅雷thunder资源下载地址的方法,采用很简单的base64_encode编码即可实现该功能,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • php7 没有phpize的解决方法

    php7 没有phpize的解决方法

    在本篇文章里小编给大家分享的是一篇关于php7 没有phpize的解决方法及相关问题总结,有需要的朋友们可以跟着学习下。
    2021-12-12
  • php curl_init函数用法

    php curl_init函数用法

    使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了
    2014-01-01
  • 模板引擎正则表达式调试小技巧

    模板引擎正则表达式调试小技巧

    很久没有遇上PHP难题了,这次正则问题占了一点时间,还是老问题最大回溯、递归限制问题。学习透之后其实并不难修改调试有这类问题的正则。主要是以下几点。
    2011-07-07
  • Ubuntu中支持PHP5与PHP7双版本的简单实现

    Ubuntu中支持PHP5与PHP7双版本的简单实现

    这篇文章主要给大家介绍了关于Ubuntu中支持PHP5与PHP7双版本的简单实现方法,文中通过示例代码介绍的非常详细,这个方法也非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-08-08
  • PHP+Mysql+jQuery实现动态展示信息

    PHP+Mysql+jQuery实现动态展示信息

    在本文中,我将介绍如何在页面上实现动态展示用户发表的信息,将用户发表的信息逐条播放展示。该效果可以在展示系统动态、商品评论等场景应用
    2011-10-10
  • php实现模拟登陆方正教务系统抓取课表

    php实现模拟登陆方正教务系统抓取课表

    这篇文章主要介绍了php实现模拟登陆方正教务系统抓取课表的相关资料,需要的朋友可以参考下
    2015-05-05
  • php实现json编码的方法

    php实现json编码的方法

    这篇文章主要介绍了php实现json编码的方法,实例分析了php实现json编码转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 一个简洁的PHP可逆加密函数(分享)

    一个简洁的PHP可逆加密函数(分享)

    本篇文章是对一个简洁的PHP可逆加密函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论