网站地图    收藏   

主页 > php专栏 > php应用 >

php自定义加密函数、解密的例子 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙,作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是MD5()加密...

php自定义加密函数、解密的例子

加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙,作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是MD5()加密方式,但是在网站已经有了破解的软件用起来也不是很安全,下面简单的介绍一下自定义的加密函数,代码如下:

  1. /*加密*/ 
  2.  
  3. function addcoder($str
  4.  
  5.     { 
  6.  
  7.         $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0'
  8.  
  9.         $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a'
  10.  
  11.        if ( strlen($str) == 0) return false; 
  12.  
  13. for($i = 0;$i<strlen($str);$i++) 
  14.  
  15.         { 
  16.  
  17.             for($j = 0;$j<strlen($yuan);$j++)                          
  18.  
  19.  
  20. if($str[$i]==$yuan[$j]) 
  21.  
  22.                     { 
  23.  
  24. $results.= $jia[$j]; 
  25.  
  26. break
  27.  
  28.  
  29.             } 
  30.  
  31.         } 
  32.  
  33.        return $results
  34.  
  35.     } 
  36.  
  37.  
  38.  
  39.  
  40. /*解密*/ 
  41.  
  42. function removecoder($str
  43.  
  44.  
  45.         $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0'
  46.  
  47.         $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a'
  48.  
  49.        If (strlen($str)==0) return false; 
  50.  
  51.   for($i = 0;$istrlen($str);$i++) 
  52.  
  53.  
  54.  for($j = 0;$j<strlen($jia);$j++) 
  55.  
  56.   { 
  57.  
  58.   if($str[$i]==$jia[$j])  
  59.  
  60.  
  61. $results .= $yuan[$j]; 
  62.  
  63. break
  64.  
  65.  
  66.   } 
  67.  
  68.        return $results
  69.  
  70.     } 
  71.  
  72. $str = "www.phpfensi.com"
  73. echo "加密前:".$str."<br >"
  74. $str1= addcoder($str); 
  75. echo "加密后:".$str1."<br >"
  76. $str2= removecoder($str1); 
  77. echo "解密后:".$str2."<br >"

例子二,利用md5+base64_encode进行编辑处理,代码如下:

  1. <?php  
  2. // 
  3. function passport_encrypt($txt$key) {  
  4. srand((double)microtime() * 1000000);  
  5. $encrypt_key = md5(rand(0, 32000));  
  6. $ctr = 0;  
  7. $tmp = '';  
  8. for($i = 0;$i < strlen($txt); $i++) {  
  9. $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;  
  10. $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);  
  11. }  
  12. return base64_encode(passport_key($tmp$key));  
  13. function passport_decrypt($txt$key) {  
  14. $txt = passport_key(base64_decode($txt), $key);  
  15. $tmp = '';  
  16. for($i = 0;$i < strlen($txt); $i++) {  
  17. $md5 = $txt[$i];  
  18. $tmp .= $txt[++$i] ^ $md5;  
  19. }  
  20. return $tmp;  
  21. function passport_key($txt$encrypt_key) {  
  22. $encrypt_key = md5($encrypt_key);  
  23. $ctr = 0;  
  24. $tmp = '';  
  25. for($i = 0; $i < strlen($txt); $i++) {  
  26. $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;  
  27. $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];  
  28. }  
  29. return $tmp;  
  30. }  
  31. ?> 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论