一段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的面试题集,附我的答案和分析(一)
Nov 19 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
php图片添加水印例子
Jul 20 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
PHP控制循环操作的时间
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
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
js调用设备摄像头的方法
2018/07/19 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
Python 学习笔记
2008/12/27 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
点球小游戏python脚本
2018/05/22 Python
windows下python和pip安装教程
2018/05/25 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python socket 套接字实现通信详解
2019/08/27 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
信用卡工资证明范本
2015/06/19 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL