18,356
社区成员
发帖
与我相关
我的任务
分享
//产生新的加密解密密钥
MD5_CTX md5T;
unsigned char digest[16];
CString pwd="my password";//输入的密码;
pwd+="salt";
int len=pwd.GetLength();
unsigned char *newPwd = (unsigned char*)pwd.GetBuffer(len);
pwd.ReleaseBuffer();
md5T.MD5Update (newPwd,len);
md5T.MD5Final (digest);
//转换为16进制存入password字段
for (int i=0; i<16; i++)
sprintf(result+2*i, "%02x", digest[i]);
result[32]=0;
pwd=result;//密码散列最后存在pwd中;
void MD5( unsigned char* buf, int len, unsigned char* digest )
{
MD5_CTX md;
md.MD5Update(buf, len);
md.MD5Final(digest);
}