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


Posted in PHP onJanuary 14, 2014
class SysCrypt{
 private $crypt_key='https://3water.com';//密钥
 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://3water.com');
$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 相关文章推荐
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
May 03 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
php TP5框架生成二维码链接
Apr 01 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 #PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 #PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 #PHP
memcache命令启动参数中文解释
Jan 13 #PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 #PHP
PHP curl 获取响应的状态码的方法
Jan 13 #PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 #PHP
You might like
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
JS数组的高级使用方法示例小结
2020/03/14 Javascript
Python脚本实时处理log文件的方法
2016/11/21 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
Python实现代码统计工具
2019/09/19 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
Python中return函数返回值实例用法
2020/11/19 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
公司企业表扬信
2014/01/11 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript