一段php加密解密的代码


Posted in PHP onJuly 16, 2007

<?php  
$key = "This is supposed to be a secret key !!!";  

function keyED($txt,$encrypt_key)  
{  
$encrypt_key = md5($encrypt_key);  
$ctr=0;  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
if ($ctr==strlen($encrypt_key)) $ctr=0;  
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);  
$ctr++;  
}  
return $tmp;  
}  

function encrypt($txt,$key)  
{  
srand((double)microtime()*1000000);  
$encrypt_key = md5(rand(0,32000));  
$ctr=0;  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
if ($ctr==strlen($encrypt_key)) $ctr=0;  
$tmp.= substr($encrypt_key,$ctr,1) .  
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));  
$ctr++;  
}  
return keyED($tmp,$key);  
}  

function decrypt($txt,$key)  
{  
$txt = keyED($txt,$key);  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
$md5 = substr($txt,$i,1);  
$i++;  
$tmp.= (substr($txt,$i,1) ^ $md5);  
}  
return $tmp;  
}  

$string = "Hello World !!!";  

// encrypt $string, and store it in $enc_text  
$enc_text = encrypt($string,$key);  

// decrypt the encrypted text $enc_text, and store it in $dec_text  
$dec_text = decrypt($enc_text,$key);  

print "Original text : $string <Br>n";  
print "Encrypted text : $enc_text <Br>n";  
print "Decrypted text : $dec_text <Br>n";  
?>

PHP 相关文章推荐
第七章 php自定义函数实现代码
Dec 30 PHP
php文本转图片自动换行的方法
Mar 13 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
Apr 01 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 #PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 #PHP
PHP如何编写易读的代码
Jul 10 #PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
Jul 02 #PHP
木翼下载系统中说明的PHP安全配置方法
Jun 16 #PHP
PHP 中的批处理的实现
Jun 14 #PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 #PHP
You might like
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
python文件操作相关知识点总结整理
2016/02/22 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
采购内勤岗位职责
2013/12/10 职场文书
铁路个人事迹材料
2014/01/30 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python