2008-12-10
就像微软的加解密Wincrypt等复杂函数一样,都是在原数据上进行一些操作,有多有少,但是像我们想象的那样,即便是最简单的加解密,也不是一般人能解出来的。
就像我的加密方式就是在111上面加上123,谁又能想得到呢?
在加密这样的东西上花费时间,对于一般的应用又有什么用处呢?
代码
BYTE* CryptFunc( BYTE* code,LONG len )
{
if (code == NULL)return NULL;
BYTE* pDest = new BYTE[len];
memset(pDest,0,len);
for (int i=0;i<len-1;i++)
{
pDest[i] = code[i] + 1;
pDest[i] = pDest[i] ^ 0xff;
pDest[i] = pDest[i] - 1;
}
return pDest;
}
BYTE* DeCryptFunc( BYTE* code,LONG len )
{
if (code == NULL)return NULL;
BYTE* pDest = new BYTE[len];
memset(pDest,0,len);
for (int i=0;i<len-1;i++)
{
pDest[i] = code[i] + 1;
pDest[i] = pDest[i] ^ 0xff;
pDest[i] = pDest[i] - 1;
}
return pDest;
}
int main(int argc,char **argv)
{
char SourceData[128];
strcpy(SourceData,"MyName");
BYTE* pDest1 = CryptFunc((BYTE*)SourceData,7);
cout<< (char*)pDest1<<endl;
BYTE* pDest2 = DeCryptFunc((BYTE*)pDest1,7);
cout<<(char*)pDest2<<endl;
delete []pDest1;
delete []pDest2;
system("pause");
return 0;
}