一段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之第二天
Oct 09 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
Jun 05 PHP
mayfish 数据入库验证代码
Apr 30 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
php 浮点数比较方法详解
May 05 PHP
分析php://output和php://stdout的区别
May 06 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
PHP代码覆盖率统计详解
Jul 22 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 中文处理函数集合
2008/08/27 PHP
php读取msn上的用户信息类
2008/12/05 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
再探JavaScript作用域
2014/09/24 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python编写微信远程控制电脑的程序
2018/01/05 Python
Python冲顶大会 快来答题!
2018/01/17 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python基础教程之异常详解
2019/01/10 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
2014年控辍保学工作总结
2014/12/08 职场文书
作文评语集锦
2014/12/25 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python