好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php自定加密与解密程序 - php高级应用

php自定加密与解密程序

PHP3 Cryption是一个非常容易被破解,不安全的加密功能,不应该是非常重要的东西用,虽然加密是好的,它不会阻碍对尖端开裂程序的严格考验.

不过,试试吧...这是一个伟大的方式来加密和解密字符串。与许多隐窝功能,这是双向的。基于一个密码,您可以加密或解密。您也可以解密或加密过无数次,通过循环或其他方法。字母表中的字符也是变化的。所有这些事情让你修改和巩固加密。

关于这最佳的部分?您可以加密与解密或一张纸和一支铅笔一块。这需要相当长一点,但你并不需要一台电脑是附近使用它,如果你曾经失去的代码,如果你还记得你的技术可以解密。

我写在约一小时这些功能,经过几次不成功的和令人沮丧的尝试,并获得了更长的时间我没有出路的。成功的那天后的最佳方式做它突然实现。

请注意,这不会加密/解密无形字符(空格),如换行符(n)或标签(吨)!很抱歉,但我尝试,如果你找到一个办法,请让我知道!

* /  highlight_file([crypto.php]);    $ralphabet  =  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !,.:;?~@#$%^&*()_+-=][}{/><" '";   $alphabet  =  $ralphabet  .  $ralphabet ;      class  Crypto {    function  encrypt ( $password , $strtoencrypt ) {    global   $ralphabet ;   global   $alphabet ;    for (  $i =0;  $i < strlen ( $password );  $i ++ )   {   $cur_pswd_ltr  =  substr ( $password , $i ,1);   $pos_alpha_ary [] =  substr ( strstr ( $alphabet , $cur_pswd_ltr ),0, strlen ( $ralphabet ));   }    $i =0;   $n  = 0;   $nn  =  strlen ( $password );   $c  =  strlen ( $strtoencrypt );    while ( $i < $c )   {   $encrypted_string  .=  substr ( $pos_alpha_ary [ $n ], strpos ( $ralphabet , substr ( $strtoencrypt , $i ,1)),1);    $n ++;   if ( $n == $nn )  $n  = 0;   $i ++;   }    return   $encrypted_string ;    }          function  decrypt ( $password , $strtodecrypt ) {    global   $ralphabet ;   global   $alphabet ;    for (  $i =0;  $i < strlen ( $password );  $i ++ )   {   $cur_pswd_ltr  =  substr ( $password , $i ,1);   $pos_alpha_ary [] =  substr ( strstr ( $alphabet , $cur_pswd_ltr ),0, strlen ( $ralphabet ));   }    $i =0;   $n  = 0;   $nn  =  strlen ( $password );   $c  =  strlen ( $strtodecrypt );    while ( $i < $c )   {   $decrypted_string  .=  substr ( $ralphabet , strpos ( $pos_alpha_ary [ $n ], substr ( $strtodecrypt , $i ,1)),1);    $n ++;   if ( $n == $nn )  $n  = 0;   $i ++;   }    return   $decrypted_string ;      }      function  cryption_table ( $password ) {    global   $ralphabet ;   global   $alphabet ;    for (  $i =0;  $i < strlen ( $password );  $i ++ )   {   $cur_pswd_ltr  =  substr ( $password , $i ,1);   $pos_alpha_ary [] =  substr ( strstr ( $alphabet , $cur_pswd_ltr ),0, strlen ( $ralphabet ));   }      print  "<table border=1 cellpadding=" 0 " cellspacing=" 0 ">n" ;    print  "<tr><td></td>" ;   for (  $j =0;  $j < strlen ( $ralphabet );  $j ++ )   {   print  "<td align=" center "><font size=" 2 " face=" arial ">"  .  substr ( $ralphabet , $j ,1) .  "</td>n" ;   }   print  "</tr>" ;      for (  $i =0;  $i < count ( $pos_alpha_ary );  $i ++ )   {   print  "<tr><td align=" right "><font size=" 2 "><b>"  . ( $i +1) .  "|</b></font></td>" ;   for (  $k =0;  $k < strlen ( $pos_alpha_ary [ $i ]);  $k ++ )   {   print  "<td align=" center "><font size=" 2 " face=" arial ">"  .  substr ( $pos_alpha_ary [ $i ], $k ,1) .  "</td>n" ;   }   print  "</tr>" ;   }    print  "</table>n" ;    }    }  // end class Crypto     // Example written by Macro Zeng    // 网络技术主管座右铭:三人行其必有我师焉。http://HdhCmsTestphpfensi测试数据   $ct  =  new  Crypto;   //$ct->cryption_table($password);    echo   "<form action=$PHP_SELF method=post>" ;   if  ( $mod  == 2) {   $strtodecrypt  =  $ct ->encrypt ( $password , $strtoencrypt );   echo   'Encrypted String(加密后的字段): ' ;   echo  "<input type=text name=strtodecrypt size=45 value= $strtodecrypt >  ";   echo   "密码锁: <input type=text name=password size=6 value=$password>" ;   echo   "<input type=submit value=" Decrypt(解密) ">" ;   }   else  {   $strtoencrypt  =  $ct ->decrypt ( $password , $strtodecrypt );   echo   'String to Encrypt(需要加密的字段): ' ;   echo  "<input type=text name=strtoencrypt size=45 value= $strtoencrypt > //开源代码phpfensi测试数据   ";   echo   "密码锁: <input type=text name=password size=6 value=$password>" ;   echo   "<input type=submit value=" Encrypt(加密) ">" ;   echo   "<input type=hidden name=mod value=2>" ;   }   echo   "</form>" ;

查看更多关于php自定加密与解密程序 - php高级应用的详细内容...

  阅读:45次