MD5算法使用心得

最近了解了下MD5算法,以前觉得可能很复杂,一直没敢去学习了解,这次学习使用之后,认为这是一个很常用的东东,故总结下我使用的一些步骤,以示记录。

 

1,加密准则:只要文件的内容一致,使用加密算法所得加密密钥都会一致,否则不同。,

2,一般使用的步骤(以xml操作为例)如下:

    第一步:根据xml的操作,读取除加密秘钥之外的所有xml内容,我记录为csMyXmlContent;

    第二步:申请一段16字节的空间,后续拥有记录加密秘钥;同时构造一个MD5_CTX对象空间。

    第三步:使用MD5Init、MD5Update、MD5Final函数,生成加密秘钥。

 

3,大致代码实现如下:

int MyFunc(csString csInput, csString csPassword, csString &csOut)
{
	csString csSrc;
	csString csSecurityCode;
	csSrc = csPassword + csInput + csPassword
	Byte Digest[16] = {0};
	MD5_CTX context;
	MD5Init(&context);
	MD5Update(&context,(BYTE*)(LPCSTR)csSrc,csSrc.GetLength());
	MD5Final((unsigned char*)Digest, &context); 	
	csSecurityCode.Format("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
	Digest[0],Digest[1],Digest[2],Digest[3],Digest[4],Digest[5],Digest[6],Digest[7],
	Digest[8],Digest[9],Digest[10],Digest[11],Digest[12],Digest[13],Digest[14],Digest[15]);
         csOut = csSecurityCode;
	return 0;
}

生成的SecurityCode然后再以如下方式保存至xml文件中:

XML_CONTENT

你可能感兴趣的:(MD5算法使用心得)