最近在做的一个项目用到了资源加密,也就是将加密好的文本以自定义资源的形式放入VC的项目中,然后在项目中对它进行解密,这样就达到了保护资料的目的。
加密算法我用的是AES,密钥自己指定,由于是对称加密算法,我使用相同的密钥对密文解密,就能得到明文,为公司项目做的第一个小功能,很开心,呵呵。
本来以为资源加密不好实现,纠结了我一个星期,终于搞出来了,很有成就感啊
相关代码如下:
HRSRC hRes; //Define a Handle of Resource
HINSTANCE hInst = AfxGetResourceHandle(); //Return a HINSTANCE value
BOOL bResult = FALSE;
DWORD dwLen = 0; // typedef unsigned long DWORD
hRes = FindResource(hInst, MAKEINTRESOURCE(IDR_TEXT), _T(“TEXT”));
if (hRes != NULL)
{
dwLen = SizeofResource(hInst, hRes);
if (dwLen > 0)
{
HGLOBAL hGlob = LoadResource(hInst, hRes);
if (hGlob != NULL)
{
LPVOID lpData = LockResource(hGlob);
if (lpData != NULL)
{
//Access the Resouce by the value: lpData
}
}
}
}