一组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 和 HTML
Oct 09 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
解析php中的escape函数
Jun 29 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
php中hashtable实现示例分享
Feb 13 PHP
将二维数组转为一维数组的2种方法
May 26 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 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执行zip与rar解压缩方法实现代码
2010/12/05 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php-msf源码详解
2017/12/25 PHP
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
jquery插件之easing使用
2010/08/19 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python文件读取的3种方法及路径转义
2015/06/21 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Django异步任务线程池实现原理
2019/12/17 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
python可以用哪些数据库
2020/06/22 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
用canvas显示验证码的实现
2020/04/10 HTML / CSS
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
经营理念标语
2014/06/21 职场文书
创业计划书之家教托管
2019/09/25 职场文书