VC怎么实现加密???
CString CMainFrame::Base64Encode(LPCTSTR lpszSrc
{
ASSERT(lpszSrc != NULL && AfxIsValidString(lpszSrc));
LPCTSTR lpszKey = "novfgi4fasd5lfja~doifj_eajeifd5f^ryjienkcvjij074wijfk8aekfe9dcve";
char BASE64_ENCODE_TABLE[64];
strcpy(BASE64_ENCODE_TABLE, lpszKey);
unsigned int iTest;
LPCTSTR pInBuffer=lpszSrc;
int nSize = (int)_tcslen(lpszSrc);
char* pOutBuffer=new char[nSize/3*4+5];
ZeroMemory(pOutBuffer,nSize/3*4+5);
for(UINT i=0;i<_tcslen(lpszSrc) / 3;i++)
{
iTest = (unsigned char) *pInBuffer++;
iTest = iTest << 8;
iTest = iTest | (unsigned char) *pInBuffer++;
iTest = iTest << 8;
iTest = iTest | (unsigned char) *pInBuffer++;
//以4 byte倒序写入输出缓冲
pOutBuffer[3] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[2] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[1] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[0] = BASE64_ENCODE_TABLE[iTest];
pOutBuffer+=4;
}
//设置尾部
switch (_tcslen(lpszSrc) % 3)
{
case 0:
break;
case 1:
iTest = (unsigned char) *pInBuffer;
iTest = iTest << 4;
pOutBuffer[1] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[0] = BASE64_ENCODE_TABLE[iTest];
pOutBuffer[2] = '='; //用'='也就是64码填充剩余部分
pOutBuffer[3] = '=';
break;
case 2:
iTest = (unsigned char) *pInBuffer++;
iTest = iTest << 8;
iTest = iTest | (unsigned char) *pInBuffer;
iTest = iTest << 2;
pOutBuffer[2] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[1] = BASE64_ENCODE_TABLE[iTest & 0x3F];
iTest = iTest >> 6;
pOutBuffer[0] = BASE64_ENCODE_TABLE[iTest];
pOutBuffer[3] = '='; // Fill remaining byte.
break;
}
pOutBuffer-=nSize/3*4;
CString strEncode=pOutBuffer;
delete [] pOutBuffer;
pOutBuffer=NULL;
return strEncode;
}
这个方法是不是实现了加密过程啊??有谁给我解释一下呢??怎么加密,才能防止破解呢???
[解决办法]
使用加密库吧~自己写麻烦
[解决办法]
没法防止破解,加密只是增加安全性,但是还是可能被破解的
[解决办法]
base64编码吧
加密最简单的就是变换一下ASCII码就行了,(比如顺移多少位)到时候自己变回了就解密了
复杂的有很多成熟的技术,如果真多 密码学、安全感兴趣,可以研究
[解决办法]
一般用某种算法..或者自己的程序中A加上什么数字之类的
[解决办法]
使用
MD5吧...
[解决办法]
使用crypto++
[解决办法]
路过,
帮顶。。。
[解决办法]
用现成的算法了。
如aes等
[解决办法]
加壳吧。Asprotect
[解决办法]
UP
VC如何实现加密?
VC怎么实现加密???CString CMainFrame::Base64Encode(LPCTSTR lpszSrc{ASSERT(lpszSrc ! NULL && AfxIsVa
