$rkey = $s;            //取机器码 
$sn = $snn;            //序列号 
$skey = $s1;          //激活码 
$ma = $gSkey[2];          //取ma 无意义 
                //print "04 ".$ma." <BR>";  
$ma = split( "\\[\\]", $ma );  //修改ma 
                //print "05 ".$ma." <BR>"; 
$ma = base64_decode( $ma[2] ); //修改ma 为最后8个字符作用 
                print "机器信息:".$ma." <BR>"; 
$skey = strtolower( $s1 );    //激活码小写 
$sn = strtolower( $sn );        //序列号小写 
$rkey = strtolower( $rkey );    //取机器码小写 
                print "激活码小写:".$rkey." <BR>"; 
                print "序列号小写:".$sn." <BR>"; 
                print "取机器码小写:".$skey." <BR>"; 
$mkey = strtolower( substr( $skey, 8, 16 ) );  //激活码的8-16位字符为mkey 
                print "激活码的8-16位字符为:".$mkey." <BR>"; 
$r1 = md5( $mkey );                              //mkey 处理1 MD5--r1 
$r1 = base64_encode( $sn.$r1 );    //mkey 处理2 sn encode --r1 
$r1 = md5( $r1 );                //md5  --r1 
                print "r1字符为:".$r1." <BR>"; 
$r2 = base64_encode( $sn.$mkey );  //mkey sn encode --r2 
$r2 = md5( $r2 );                //md5 --r2 
                print "r2字符为:".$r2." <BR>"; 
$r3 = md5( md5( base64_encode( $sn ) ).md5( base64_encode( $mkey ) ) );  //md5 md5 sn,mkey--r3 
                print "r3字符为:".$r3." <BR>"; 
$rr = "01234567890123456789012345678901";  //rr-字符 
$a = 0; 
for ( ; $a < 32; ++$a ) 

$b1 = hexdec( $r1[$a] ); 
$b2 = hexdec( $r2[$a] ); 
$b3 = hexdec( $r3[$a] ); 
$b = dechex( ( $b1 + $b2 + $b3 ) % 16 ); 
$rr[$a] = $b; 

$rr = strtolower( substr( $rr, 8, 16 ) ); 
                print "rr字符为:".$rr." <BR>"; 
$hhbz = 0; 
$kk = $rkey;                      //取机器码已经小写 
$LL = substr( $kk, 0, 8 );        //取机器码0-7  --LL      
$RR = substr( $kk, 8, 24 );        //取机器码8-16 --RR 
                //主要对比是这块,怎么就让前8个字符与后24个字符MD5就可以 
                print "kk字符为:".$kk." <BR>"; 
                print "对比字符为:".substr( md5( $RR ), 0, 8 ) ." <BR>"; 
                print "LL字符为:".$LL." <BR>"; 
                print "RR字符为:".$RR." <BR>"; 
if ( $LL != substr( md5( $RR ), 0, 8 ) )  //LL <> rr(0-8) MD5 比较 

$hhbz = 1; 

                print "对比字符为:".substr( $rkey, 8, 16 )." <BR>"; 
                print "rr字符为:".$rr." <BR>"; 
if ( substr( $rkey, 8, 16 ) != $rr )          //rkey 8-16  rr 8-16 比较 

$hhbz = 1; 
}