鸡蛋汤里鸡蛋壳野良神:加密算法

来源:百度文库 编辑:高校问答 时间:2024/04/27 20:22:20
以下是算法 可以实现密码加密
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;
}

就是这个 :
unsigned long table[256]={/*256 harcoded entry*/}

可以是 ASCII字符集,
可以是 乱序后的 ASCII,
也可以是其他的,如 unicode 中取的 256 个字符,
没有限定的 .....