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 }; 改成一个类 应该问题不大、
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
};
改成一个类 应该问题不大、
不就是把密码字符串各位加上0x88,然后进行md5哈希一下,然后赋给ack成员,
用PHP不过几句话而已:
......
$pwd = 'xxx';
for($i = 0; $i < strlen($pwd); $i++)
{
$referx = $asc(ord($pwd{$i}) + 0x88);
}$digest = md5($referx);
....
能不能帮我解决一下。。因为本人刚学PHP不久。。麻烦了。。
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;
}
{
$pwd = $installmsg->challenge->req;
for($i = 0; $i < strlen($pwd); $i++)
{
$referx = chr(ord($pwd{$i}) + 0x88);
} $installmsg->challenge->ack = md5($referx);
return 0;
}