一组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 相关文章推荐
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
php在线代理转向代码
May 05 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
smarty获得当前url的方法分享
Feb 14 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 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
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
详解JavaScript函数
2015/12/01 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
基于python实现操作git过程代码解析
2020/07/27 Python
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
几个Shell Script面试题
2012/08/31 面试题
党员转正申请报告
2015/05/15 职场文书
士兵突击观后感
2015/06/16 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书