一段php加密解密的代码


Posted in PHP onOctober 09, 2006

<?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代码优化及php相关问题总结
Oct 09 PHP
PHP脚本的10个技巧(2)
Oct 09 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP自动载入类文件函数__autoload的使用方法
Mar 25 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 PHP
PHP开发文件系统实例讲解
Oct 09 #PHP
用PHP读取IMAP邮件
Oct 09 #PHP
php+oracle 分页类
Oct 09 #PHP
使用无限生命期Session的方法
Oct 09 #PHP
图象函数中的中文显示
Oct 09 #PHP
使用php+xslt在windows平台上
Oct 09 #PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 #PHP
You might like
memcache命令启动参数中文解释
2014/01/13 PHP
php建立Ftp连接的方法
2015/03/07 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
wxpython 学习笔记 第一天
2009/03/16 Python
python快速排序代码实例
2013/11/21 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
对Python中range()函数和list的比较
2018/04/19 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
python离线安装外部依赖包的实现
2020/02/13 Python
高中生校园生活自我评价
2013/09/19 职场文书
应届生船舶驾驶求职信
2013/10/19 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang