- 论坛徽章:
- 15
|
原帖由 BIOO 于 2009-9-21 09:45 发表 ![]()
目前需要使用md5对tcp传输报文处理,以确保其一致性。
有没有demo,或者win或者unix都可以。
或者搜索的关键字。谢谢
#include "../include/md5.h"
#ifdef CHARSET_EBCDIC
#include <openssl/ebcdic.h>
#endif
unsigned char *MD5(const unsigned char *d, unsigned long n, unsigned char *md)
{
MD5_CTX c;
static unsigned char m[MD5_DIGEST_LENGTH];
if (md == NULL) md=m;
MD5_Init(&c);
#ifndef CHARSET_EBCDIC
MD5_Update(&c,d,n);
#else
{
char temp[1024];
unsigned long chunk;
while (n > 0) {
chunk = (n > sizeof(temp)) ? sizeof(temp) : n;
ebcdic2ascii(temp, d, chunk);
MD5_Update(&c,temp,chunk);
n -= chunk;
d += chunk;
}
}
#endif
MD5_Final(md,&c);
memset(&c,0,sizeof(c)); /* security consideration */
return(md);
}
|
为何用MD5?杀鸡用牛刀,16个字节,运行慢。
CRC32,CRC16不好么?
[ 本帖最后由 yulihua49 于 2009-9-22 15:05 编辑 ] |
|