一段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+java实现自动新闻滚动窗口
Oct 09 PHP
php实现天干地支计算器示例
Mar 14 PHP
php数组删除元素示例
Mar 21 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
PHP 文件上传限制问题
Sep 01 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
php中curl使用指南
2015/02/05 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
javascript事件模型介绍
2016/05/31 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
python开发之thread实现布朗运动的方法
2015/11/11 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
详解Python IO口多路复用
2020/06/17 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
Python实现微信表情包炸群功能
2021/01/28 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
个人实用简单的自我评价
2013/10/19 职场文书
师范生自我鉴定
2014/03/20 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
2014年资料员工作总结
2014/11/18 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python