|
楼主 |
发表于 2010-4-25 00:17:04
|
显示全部楼层
不太懂C++,看了将近10个小时的EVA代码,没整明白。。纠结死了啊
- void EvaLoginWindow::slotPasswordChanged( const QString &newPwd)
- {
- if(newPwd.isEmpty()) return;
- int pwdLen = strlen(newPwd.ascii());
- char *pwd = new char[pwdLen+1];
- memcpy(pwd, newPwd.ascii(), pwdLen);
- pwd[pwdLen]=0x00;
- memcpy(md5Pwd, EvaUtil::doMd5Md5(pwd, pwdLen), 16);
- delete pwd;
- }
复制代码- char EvaUtil::md5Buf[KEY_LENGTH];
- char *EvaUtil::doMd5(char *in, int len)
- {
- md5_state_t ctx;
- md5_init(&ctx);
- md5_append(&ctx, (md5_byte_t *)in, len);
- md5_finish(&ctx, (md5_byte_t *)md5Buf);
- return md5Buf;
- }
- char *EvaUtil::doMd5Md5(char *in, int len)
- {
- doMd5(in, len);
- doMd5(md5Buf, KEY_LENGTH);
- return md5Buf;
- }
复制代码
还有个是md5.c,好像是L. Peter Deutsch写的那个版本
老大能不能帮忙看看啊 |
|