以下是算法 可以实现密码加密
e.g.
"admin" -> 0cad51f6
"passnew" -> dc5181ad
但256 harcoded entry是什么,在哪里?
unsigned long table[256]={/*256 harcoded entry*/}
int main(int argc, char* argv[])
{
if(argc!=2){return 0;}
string buff = "EasyMail";
buff+=argv[1];
buff+="majian";
char* password=(char*)buff.c_str();//"EasyMailadminmajian";
int ecx = strlen(password);
unsigned long eax = 0xfffffffa;
int esi = ecx;
ecx --;
char* edx = password;
while (esi !=0)
{
unsigned long edi;
ecx=*edx;
edi=eax&0xff;
ecx=ecx^edi;
eax=eax>>8;
ecx=table[ecx];
eax=eax ^ ecx;
edx++;
esi--;
}
eax=~eax;
printf("%08lx\n",eax);
return 0;
}
e.g.
"admin" -> 0cad51f6
"passnew" -> dc5181ad
但256 harcoded entry是什么,在哪里?
unsigned long table[256]={/*256 harcoded entry*/}
int main(int argc, char* argv[])
{
if(argc!=2){return 0;}
string buff = "EasyMail";
buff+=argv[1];
buff+="majian";
char* password=(char*)buff.c_str();//"EasyMailadminmajian";
int ecx = strlen(password);
unsigned long eax = 0xfffffffa;
int esi = ecx;
ecx --;
char* edx = password;
while (esi !=0)
{
unsigned long edi;
ecx=*edx;
edi=eax&0xff;
ecx=ecx^edi;
eax=eax>>8;
ecx=table[ecx];
eax=eax ^ ecx;
edx++;
esi--;
}
eax=~eax;
printf("%08lx\n",eax);
return 0;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货