一组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 和 XML: 使用expat函数(二)
Oct 09 PHP
在PHP里得到前天和昨天的日期的代码
Aug 16 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
php实现图片缩放功能类
Dec 18 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
php生成zip文件类实例
2015/04/07 PHP
简单实现PHP留言板功能
2016/12/21 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python3操作mysql数据库的方法
2017/06/23 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
2014年端午节演讲稿范文
2014/05/23 职场文书
食品工程专业求职信
2014/06/15 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
房产公证书格式
2015/01/26 职场文书
市场营销计划书
2019/04/24 职场文书
python用字节处理文件实例讲解
2021/04/13 Python