一段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中批量修改文件后缀名的函数代码
Oct 23 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php实现递归抓取网页类实例
Apr 03 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
详解PHP中array_rand函数的使用方法
Sep 11 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
一个实用的php验证码类
Jul 06 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 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
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
chrome调试javascript详解
2015/10/21 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
python获取从命令行输入数字的方法
2015/04/29 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
使用python实现对元素的长截图功能
2019/11/14 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
洗发水广告词
2014/03/13 职场文书
成龙洗发水广告词
2014/03/14 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书