$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;
}