C语言hmacsha1,在C中执行hmac sha1

本文介绍了如何在C语言中实现HMAC-SHA1算法,提供了相应的代码示例。在测试过程中,发现对于不同的计数器值,生成的HMAC SHA1值与RFC 2246中的标准值不匹配。作者通过对比和调试,探讨可能存在的问题,并寻求解决方案。
摘要由CSDN通过智能技术生成

我正在尝试生成Hmac-sha1的一小段代码。我被要求使用用于SHA1计算的OpenSSL库自己编码hmac实现。 后“wiki'ing的算法,这里是我有什么below.I已经使用的输入与RFC 2246规定的测试值:在C中执行hmac sha1

Count Hexadecimal HMAC-SHA-1(secret, count)

0 cc93cf18508d94934c64b65d8ba7667fb7cde4b0

1 75a48a19d4cbe100644e8ac1397eea747a2d33ab

2 0bacb7fa082fef30782211938bc1c5e70416ff44

3 66c28227d03a2d5529262ff016a1e6ef76557ece

4 a904c900a64b35909874b33e61c5938a8e15ed1c

5 a37e783d7b7233c083d4f62926c7a25f238d0316

6 bc9cd28561042c83f219324d3c607256c03272ae

7 a4fb960c0bc06e1eabb804e5b397cdc4b45596fa

8 1b3c89f65e6c9e883012052823443f048b4332db

9 1637409809a679dc698207310c8c7fc07290d9e5

随着下面的代码,我用从RFC2104例如做,我根据需要获取COUNTER = 0的值,但当COUNTER值设置为其他值(如上面的2,3等)时,HMAC SHA1不符合RFC 2246中的上述值。另一个问题是如果我使用memcpy和memset bzero或bcopy,代码显示不符合COUNTER = 0值的不同(错误)Hmac Sha1值。请解释为什么这个奇怪的怪物?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值