加密就是將一些字符轉換為另一個字符串的過程,簡單的說就是把大門上鎖,并且只有你有開啟的鑰匙,作為一個程序員都應該有屬于自己的加密方式,目前最流行的加密算法就是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.49028c.com";
- echo "加密前:".$str."<br >";
- $str1= addcoder($str);
- echo "加密后:".$str1."<br >";
- $str2= removecoder($str1);
- echo "解密后:".$str2."<br >";
例子二,利用md5+base64_encode進行編輯處理,代碼如下:
- <?php
- //
- 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;
- }
- ?>
新聞熱點
疑難解答