一段php加密解密的代码

 更新时间:2007年07月16日 00:00:00   作者:  
<?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正则提取html图片(img)src地址与任意属性的方法

    php正则提取html图片(img)src地址与任意属性的方法

    下面小编就为大家带来一篇php正则提取html图片(img)src地址与任意属性的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • PHP中的self关键字详解

    PHP中的self关键字详解

    这篇文章主要给大家介绍了关于PHP中self关键字的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • php打开远程文件的方法和风险及解决方法

    php打开远程文件的方法和风险及解决方法

    本文讲的是php打开远程文件的使用方法,还有使用风险和解决方法
    2013-11-11
  • PHP实现的单向散列加密操作示例

    PHP实现的单向散列加密操作示例

    这篇文章主要介绍了PHP实现的单向散列加密操作,涉及PHP数据传输及加密解密等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • php插入排序法实现数组排序实例

    php插入排序法实现数组排序实例

    这篇文章主要介绍了php插入排序法实现数组排序,实例分析了插入排序法的原理与具体的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • PHP基于MySQL数据库实现对象持久层的方法

    PHP基于MySQL数据库实现对象持久层的方法

    这篇文章主要介绍了PHP基于MySQL数据库实现对象持久层的方法,实例分析了php实现持久层的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php连接oracle数据库的方法(测试成功)

    php连接oracle数据库的方法(测试成功)

    这篇文章主要介绍了php连接oracle数据库的方法,简单分析了php连接Oracle数据库的常见方法与具体操作技巧,并对可能出现的问题进行了总结分析,需要的朋友可以参考下
    2016-05-05
  • 详谈php ip2long 出现负数的原因及解决方法

    详谈php ip2long 出现负数的原因及解决方法

    下面小编就为大家带来一篇详谈php ip2long 出现负数的原因及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • PHP简单实现多维数组合并与排序功能示例

    PHP简单实现多维数组合并与排序功能示例

    这篇文章主要介绍了PHP简单实现多维数组合并与排序功能,涉及php数组合并、排序等相关操作及array_merge、array_multisort等函数使用技巧,需要的朋友可以参考下
    2017-09-09
  • PHP基于递归算法解决兔子生兔子问题

    PHP基于递归算法解决兔子生兔子问题

    这篇文章主要介绍了PHP基于递归算法解决兔子生兔子问题,结合实例形式分析了兔子生兔子问题的php面试题采用循环与递归两种思路的解决方法,需要的朋友可以参考下
    2018-05-05

最新评论