一段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下MAIL的另一解决方案
Oct 09 PHP
通过html表格发电子邮件
Oct 09 PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
php 编写安全的代码时容易犯的错误小结
May 20 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 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乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
PHP链表操作简单示例
2016/10/15 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
bootstrap table小案例
2016/10/21 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
python 连接sqlite及简单操作
2017/06/30 Python
python format 格式化输出方法
2018/07/16 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
2014年团工作总结
2014/11/27 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
党员干部学习心得体会
2016/01/23 职场文书
MySQL 开窗函数
2022/02/15 MySQL