一段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+Html+缓存
Nov 25 PHP
常用的php对象类型判断
Aug 27 PHP
php 动态添加记录
Mar 10 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
PHP计算加权平均数的方法
Jul 16 PHP
php常量详细解析
Oct 27 PHP
php文件上传类完整实例
May 14 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
Laravel框架自定义分页样式操作示例
Jan 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
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
JS批量操作CSS属性详细解析
2013/12/16 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python验证码识别的示例代码
2017/09/21 Python
python 实现登录网页的操作方法
2018/05/11 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
django 类视图的使用方法详解
2019/07/24 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
python logging通过json文件配置的步骤
2020/04/27 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
毕业证丢失证明范本
2014/09/20 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis