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&amp;mysql(一)
Oct 09 PHP
php将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
yii实现创建验证码实例解析
Jul 31 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
PHP实现简易用户登录系统
Jul 10 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
用js生产批量批处理执行命令
2008/07/28 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
Angular5集成eventbus的示例代码
2018/07/19 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python运行DLL文件的方法
2020/01/17 Python
python相对企业语言优势在哪
2020/06/12 Python
简约控的天堂:The Undone
2016/12/21 全球购物
三星美国官网:Samsung美国
2017/02/06 全球购物
中学生运动会入场词
2014/02/12 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
公路施工安全责任书
2015/05/08 职场文书
儿子满月酒致辞
2015/07/29 职场文书
高一作文之乐趣
2019/11/21 职场文书
导游词之介休绵山
2019/12/31 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python