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高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30177