一段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(8) php 数组
Mar 05 PHP
PHP number_format() 函数定义和用法
Jun 01 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
Oct 22 PHP
深入浅出php socket编程
May 13 PHP
详解PHP实现执行定时任务
Dec 21 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
php数组指针操作详解
Feb 14 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
PHP whois查询类定义与用法示例
Apr 03 PHP
java解析json方法总结
May 16 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
babel的使用及安装配置教程
2018/02/22 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
Python3基础之输入和输出实例分析
2014/08/18 Python
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
Python基于WordCloud制作词云图
2019/11/29 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python 解析xml文件的示例
2020/09/29 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
大学应届生求职简历的自我评价
2013/10/08 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
住房租房协议书
2014/08/20 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
办公室主任个人总结
2015/02/28 职场文书
2015年科普工作总结
2015/07/23 职场文书
物业公司管理制度
2015/08/05 职场文书