一组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 相关文章推荐
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 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中单双引号的区别详解
2016/06/12 PHP
php简单压缩css样式示例
2016/09/22 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
js三种排序算法分享
2012/08/16 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
拖动时防止选中
2017/02/03 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
python实现清屏的方法
2015/04/30 Python
Django中使用group_by的方法
2015/05/26 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
台湾最大网路书店:博客来
2018/03/18 全球购物
普通大学毕业生自荐信
2013/11/04 职场文书
自荐信不宜过于夸大
2013/11/06 职场文书
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
刑事案件上诉状
2015/05/23 职场文书
使用pytorch实现线性回归
2021/04/11 Python
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
对讲机知识
2022/04/07 无线电