MDInit (&context);
MDUpdate (&context, referx, len);
MDFinal (digest, &context);
这个是什么东西
其他的都容易

解决方案 »

  1.   

    struct data {
    unsigned int status; //0 new 1 install 2 licence 3 deny licence
    unsigned int diskid; // disk for install 
    char name[20];
    unsigned int version_i; //packet version No.
    char version_e[20]; //packet version
    char serial[20]; //firewall serial no.
                   struct {  
    char req[20];
    char ack[20];
    }challenge;
    unsigned int time_c; //create time
    unsigned int time_i; //install time
    unsigned int time_l; //gain licence time
    char msg_h[100]; //firewall hardware message 
    char msg_a[100]; //admin message 
    char msg_u[100]; //installer message  
    };
    改成一个类 应该问题不大、
      

  2.   

    太简单了,只要稍微有点C语言跟PHP语言知识的人都会
    不就是把密码字符串各位加上0x88,然后进行md5哈希一下,然后赋给ack成员,
    用PHP不过几句话而已:
    ......
    $pwd = 'xxx';
    for($i = 0; $i < strlen($pwd); $i++)
    {
        $referx = $asc(ord($pwd{$i}) + 0x88);
    }$digest = md5($referx);
    ....
      

  3.   

    to .. Meteorlet(www.imsorry.com.cn/blog) 
    能不能帮我解决一下。。因为本人刚学PHP不久。。麻烦了。。
      

  4.   

    不是都给你写了吗?还不会?
    function setlicence($installmsg)
    {
      $pwd = 'xxx';
      for($i = 0; $i < strlen($pwd); $i++)
      {
        $referx = chr(ord($pwd{$i}) + 0x88);
      }  $installmsg->challenge->ack .= md5($referx); 
      return 0;
    }
      

  5.   

    function setlicense(&$installmsg)
    {
      $pwd = $installmsg->challenge->req;
      for($i = 0; $i < strlen($pwd); $i++)
      {
        $referx = chr(ord($pwd{$i}) + 0x88);
      }  $installmsg->challenge->ack  = md5($referx);
      return 0;
    }