-
-
[求助]有人熟悉这种加密算法吗?
-
发表于:
2011-12-26 17:06
5330
-
voi Encrypt(char* pdst//要加密的数据,
int len//加密长度,
char* psrc//用来加密的缓冲区,有效的字节是255,后面用0填充了。
)
{
char key1 = psrc[256];
char key2 = psrc[257];
for(int i=0;i< len;++i)
{
key1 = (key1+1) % 256;
key2 = (key2 + psrc[key1]) % 256;
key1 = key2;//swap(&psrc[key1],&psrc[key2])
pdst[i] ^= (char)(psrc + ((psrc[key1] + (psrc[key2]) % 256 & 0xFF));
}
}
用来作加密的缓冲区,每次都会变换。
帮忙看看这个算法能否逆出来,或者逆向它所要努力的方向。
改正这个错误,不要误导他人:
key1 = key2;
这里其实是调用了swap函数
swap(&psrc[key1],&psrc[key2])
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课