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
Dec 14 PHP
一个捕获函数输出的函数
Feb 14 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
php MessagePack介绍
Oct 06 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
Yii框架分页实现方法详解
May 20 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
php解决安全问题的方法实例
Sep 19 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
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
模拟select的代码
2011/10/19 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
python中使用print输出中文的方法
2018/07/16 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
GMP办公室主任岗位职责
2014/03/14 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
停电通知范文
2015/04/16 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
学风建设主题班会
2015/08/17 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python