一组PHP加密解密函数分享


Posted in PHP onJune 05, 2014
<?php
/**
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥
*/
function passport_encrypt($str,$key){ //加密函数
srand((double)microtime() * 1000000);
$encrypt_key=md5(rand(0, 32000));
$ctr=0;
$tmp='';
for($i=0;$i<strlen($str);$i++){
$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(passport_key($tmp,$key));
}
/**
*功能:对字符串进行解密处理
*参数一:需要解密的密文
*参数二:密钥
*/
function passport_decrypt($str,$key){ //解密函数
$str=passport_key(base64_decode($str),$key);
$tmp='';
for($i=0;$i<strlen($str);$i++){
$md5=$str[$i];
$tmp.=$str[++$i] ^ $md5;
}
return $tmp;
}
/**
*辅助函数
*/
function passport_key($str,$encrypt_key){
$encrypt_key=md5($encrypt_key);
$ctr=0;
$tmp='';
for($i=0;$i<strlen($str);$i++){
$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$str[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
$str='作者:WWW.JB51.NET;
$key='jb51net';
$encrypt=passport_encrypt($str,$key);
$decrypt=passport_decrypt($encrypt,$key);
echo '原文:',$str."<br><hr>";
echo '密文:',$encrypt."<br><hr>";
echo '译文:',$decrypt."<br><hr>";
?>
PHP 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
PHP安全配置详细说明
Sep 26 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
浅析is_writable的php实现
Jun 18 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
Sep 04 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 #PHP
php 购物车完整实现代码
Jun 05 #PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 #PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 #PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 #PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 #PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 #PHP
You might like
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
django实现分页的方法
2015/05/26 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
python保留小数位的三种实现方法
2020/01/07 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
请介绍一下Ant
2016/07/22 面试题
英语专业毕业个人求职自荐信
2013/09/21 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
建党伟业电影观后感
2015/06/01 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript