一组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的FTP学习(一)[转自奥索]
Oct 09 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
详解js异步文件加载器
Jan 24 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
php分享朋友圈的实现代码
Feb 18 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
phpQuery采集网页实现代码实例
Apr 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
基于文本的留言簿
2006/10/09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
php动态函数调用方法
2015/05/21 PHP
深入浅析php json 格式控制
2015/12/24 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
php实现微信支付之现金红包
2018/05/30 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
javascript时区函数介绍
2012/09/14 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
使用js画图之画切线
2015/01/12 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
Python三元运算实现方法
2015/01/12 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python中实现控制小数点位数的方法
2019/01/24 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
应聘护士自荐信
2013/10/21 职场文书
服务生自我鉴定
2014/01/22 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
2015年教师新年寄语
2014/12/08 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android