首页
社区
课程
招聘
[求助]关于openssl中HMAC函数的一些疑问?
发表于: 2014-3-31 20:00 6550

[求助]关于openssl中HMAC函数的一些疑问?

2014-3-31 20:00
6550
void test_hmac(u_char *pBUF, BIGNUM * pKey)
{
        const EVP_MD *evp_md1 = EVP_sha1();       
        memset((void*)(&evp_md1->flags), 0, 4);
        u_char *c_md2 = NULL;       
        c_md2 = HMAC(evp_md1, pBUF, 128, (u_char*)pKey, 128, NULL, 0);
        showArray(c_md2, 20, "HMAC cmd2");
}
我在学习openssl加解密逆向时,发现,对HMAC函数每次传入相同的入参,而每次产生的c_md2串都是随机的,如果我保证所有的入参内容都是相同的,并且保证pKey的地址也和上次的相同,则两次的输出的md串相同。

我现在的疑问是:
1、HMAC 函数中有没有把地址加入运算?
2、是不是两次产生不同的MD串可以同一段的密文?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 508
活跃值: (289)
能力值: ( LV4,RANK:41 )
在线值:
发帖
回帖
粉丝
2
2、是不是两次产生不同的MD串可以解同一段的密文?
2014-3-31 20:39
0
雪    币: 81
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
BIGNUM 直接转char?你的结果可能是BIGNUM未初始化的数据引起的
2014-3-31 22:15
0
雪    币: 81
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
你的结果是因为你在用key的地址加密而不是用key的内容加密
2014-3-31 22:20
0
雪    币: 508
活跃值: (289)
能力值: ( LV4,RANK:41 )
在线值:
发帖
回帖
粉丝
5
感谢感谢,重新看了一遍发现确实是参数传错了。
2014-4-2 11:39
0
游客
登录 | 注册 方可回帖
返回
//