帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

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://www.phpfensi.com  
$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.com  
";  
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>" ;

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php自定加密与解密程序 - php高级应用》
文章链接:https://www.admin99.cn/6588
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册