一组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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
使用PHP的日期与时间函数技巧
Apr 24 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
一个简单且很好用的php分页类
Oct 26 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
php实现word转html的方法
Jan 22 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 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
改进的IP计数器
2006/10/09 PHP
PHP6 mysql连接方式说明
2009/02/09 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
文字幻灯片
2006/06/26 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
在python中求分布函数相关的包实例
2020/04/15 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL