程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php自定義加密函數、解密

php自定義加密函數、解密

編輯:關於PHP編程

       加密就是將一些字符轉換為另一個字符串的過程,簡單的說就是把大門上鎖,並且只有你有開啟的鑰匙。作為一個程序員都應該有屬於自己的加密方式,目前最流行的加密算法就是MD5()加密方式。但是在網站已經有了破解的軟件用起來也不是很安全。下面簡單的介紹一下自定義的加密函數。

     代碼如下  

    “/*加密*/

    function addcoder($str)

        {

            $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';

            $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';

           if ( strlen($str) == 0) return false;

    for($i = 0;$i<strlen($str);$i++)

            {

                for($j = 0;$j<strlen($yuan);$j++)                         

    {

    if($str[$i]==$yuan[$j])

                        {

    $results.= $jia[$j];

    break;

    }

                }

            }

           return $results;

        }

     


    /*解密*/

    function removecoder($str)

    {

            $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';

            $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';

           If (strlen($str)==0) return false;

      for($i = 0;$i< strlen($str);$i++)

    {

     for($j = 0;$j<strlen($jia);$j++)

      {

      if($str[$i]==$jia[$j]) 

    {

    $results .= $yuan[$j];

    break;

    }

      }

    }

           return $results;

        }

    $str = "www.111cn.net";
    echo "加密前:".$str."<br >";
    $str1= addcoder($str);
    echo "加密後:".$str1."<br >";
    $str2= removecoder($str1);
    echo "解密後:".$str2."<br >";

      例子二,利用md5+base64_encode進行編輯處理。

     代碼如下  

    <?php 
    //www.111cn.net
    function passport_encrypt($txt, $key) { 
    srand((double)microtime() * 1000000); 
    $encrypt_key = md5(rand(0, 32000)); 
    $ctr = 0; 
    $tmp = ''; 
    for($i = 0;$i < strlen($txt); $i++) { 
    $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 
    $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); 

    return base64_encode(passport_key($tmp, $key)); 
    }
    function passport_decrypt($txt, $key) { 
    $txt = passport_key(base64_decode($txt), $key); 
    $tmp = ''; 
    for($i = 0;$i < strlen($txt); $i++) { 
    $md5 = $txt[$i]; 
    $tmp .= $txt[++$i] ^ $md5; 

    return $tmp; 
    }
    function passport_key($txt, $encrypt_key) { 
    $encrypt_key = md5($encrypt_key); 
    $ctr = 0; 
    $tmp = ''; 
    for($i = 0; $i < strlen($txt); $i++) { 
    $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 
    $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; 

    return $tmp; 

    ?>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved