Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 从HMAC值和密钥获取mac_Encryption_Sha_Hmac - Fatal编程技术网

Encryption 从HMAC值和密钥获取mac

Encryption 从HMAC值和密钥获取mac,encryption,sha,hmac,Encryption,Sha,Hmac,我正在看关于如何在平台上验证HMAC实现的本页: 因此,我打开文件并查看测试值: 它有数千行,但这只是开始 我关注第一个价值观: [L=20] Count = 0 Klen = 10 Tlen = 10 Key = 82f3b69a1bff4de15c33 Msg = fcd6d98bef45ed6850806e96f255fa0c8114b72873abe8f43c10bea7c1df706f10458e6d4e1c9201f057b8492fa10fe4b541d0fc9d41ef839a

我正在看关于如何在平台上验证HMAC实现的本页:

因此,我打开文件并查看测试值: 它有数千行,但这只是开始

我关注第一个价值观:

[L=20]

Count = 0
Klen = 10
Tlen = 10
Key = 82f3b69a1bff4de15c33
Msg = fcd6d98bef45ed6850806e96f255fa0c8114b72873abe8f43c10bea7c1df706f10458e6d4e1c9201f057b8492fa10fe4b541d0fc9d41ef839acff1bc76e3fdfebf2235b5bd0347a9a6303e83152f9f8db941b1b94a8a1ce5c273b55dc94d99a171377969234134e7dad1ab4c8e46d18df4dc016764cf95a11ac4b491a2646be1
Mac = 1ba0e66cf72efc349207
我的理解是,如果有一个密钥和值,openssl将获得mac,但是我没有得到与上面相同的mac

echo -n "<Msg here>" | openssl sha1 -hmac "82f3b69a1bff4de15c33"
(stdin)= 981c64f70b07634e01b3800447e6431dddb42530
echo-n”“| openssl sha1-hmac“82f3b69a1bff4de15c33”
(标准DIN)=981C64F70B07634E01B380447E6431DDB42530

你知道我做错了什么吗?我也只是猜测sha1,其他值也不匹配,我不知道如何从文件中获取我应该以什么方式执行此操作。各种长度和计数。我如何使用这些信息

请参阅以理解符号。测试向量以十六进制表示,但在使用之前需要将其转换为二进制,具体取决于您使用的工具。使用该选项通过openssl命令行指定十六进制键tool@GregS我把这两个值都转换成二进制,但它也是错误的,将有一个通读的文档来理解,谢谢<代码>echo-n“FCD6D98BED456850806E96F255FA0C8114B72873BEA8F43C1DF706F10458E6D4E1C9201F057B892FA10FE4B541D0FC9D41EEF839ACFF1BC76E3FDFEBF2235BD037A9E83152F9DB941B1B94A8CE5B55DC94D99A171377969234E7DADB4AC8E46D18DFC064CF951AC491646BE1”|xxd-r-p | ~/bin/openssl dgst-sha1-mac HMAC-macopt hexkey:82f3b69a1bf4de15c33在我的mac上给出了正确但不可信的答案。我得到了
(stdin)=1ba06cf72efc34920713e94f73e4cbbcd55f9f
。如果你只是复制并粘贴我的评论,你必须删除一些额外的空格。@Jin Kwon,是的,我认为“截断”了MacLen。也就是说,有些TLEN比SHA1长,我不清楚HMAC.rsp中的哪些行使用SHA1,哪些是SHA2或3。似乎我们需要丢失的HMAC.req文件来实际验证这些向量。
echo -n "<Msg here>" | openssl sha1 -hmac "82f3b69a1bff4de15c33"
(stdin)= 981c64f70b07634e01b3800447e6431dddb42530