当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-28 15:29:22 浏览: 评论:0 

加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙,作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是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.  
  21. if($str[$i]==$yuan[$j]) 
  22.  
  23.                     { 
  24.  
  25. $results.= $jia[$j]; 
  26.  
  27. break; 
  28.  
  29. } 
  30.  
  31.             } 
  32.  
  33.         } 
  34.  
  35.        return $results; 
  36.  
  37.     } 
  38.  
  39.  
  40.  
  41.  
  42. /*解密*/ 
  43.  
  44. function removecoder($str) 
  45.  
  46. { 
  47.  
  48.         $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0'; 
  49.  
  50.         $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a'; 
  51.  
  52.        If (strlen($str)==0) return false; 
  53.  
  54.   for($i = 0;$i< strlen($str);$i++) 
  55.  
  56. { 
  57.  
  58.  for($j = 0;$j<strlen($jia);$j++) 
  59.  
  60.   { 
  61.  
  62.   if($str[$i]==$jia[$j])  
  63.  
  64. { 
  65.  
  66. $results .= $yuan[$j]; 
  67.  
  68. break; 
  69.  
  70. } 
  71.  
  72.   } 
  73.  
  74. } 
  75.        return $results; 
  76.  
  77.     } 
  78.  
  79. $str = "www.phpfensi.com"; 
  80. echo "加密前:".$str."<br >"; 
  81. $str1= addcoder($str); 
  82. echo "加密后:".$str1."<br >"; 
  83. $str2= removecoder($str1); 
  84. 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. } 
  14. function passport_decrypt($txt, $key) {  
  15. $txt = passport_key(base64_decode($txt), $key);  
  16. $tmp = '';  
  17. for($i = 0;$i < strlen($txt); $i++) {  
  18. $md5 = $txt[$i];  
  19. $tmp .= $txt[++$i] ^ $md5;  
  20. }  
  21. return $tmp;  
  22. } 
  23. function passport_key($txt, $encrypt_key) {  
  24. $encrypt_key = md5($encrypt_key);  
  25. $ctr = 0;  
  26. $tmp = '';  
  27. for($i = 0; $i < strlen($txt); $i++) {  
  28. $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;  
  29. $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];  
  30. }  
  31. return $tmp;  
  32. }  
  33. ?> 

Tags: php加密函数 PHP解密

分享到: