问题标签 [hmacsha1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
954 浏览

ruby - Rails 3 - 使用 HMAC-SHA256 签署响应

我正在使用 OpenSSL HMAC SHA256 方法签署我对服务器的所有请求,使用私钥生成 HASH。我的请求看起来像:
www.myserver.com/url/to/resource?par1=val1&par2=val2&par3=val3&hash=GENERATEDHASH

所以我的服务器使用参数和相同的键计算哈希,如果哈希匹配他认为请求是好的。

我也想签署响应(可能使用 HTTP 标头)。我的想法是使用响应的内容计算哈希并将该哈希添加到标题中,以便我的另一方可以在处理之前验证该响应。

关于如何做到这一点的任何想法?

0 投票
2 回答
2266 浏览

encryption - Coldfusion HMAC-SHA1 加密

这里有一个适用于 javascript 的示例 HMAC-SHA1

http://jssha.sourceforge.net/

要加密的文本

vibaHBXwUXFqVSg-+kTrqYJZEJkbVeqLc=bo.LlXGET12505351831husu9039http://api.tineye.com/rest/search/image_url=http%3a%2f%2ftineye.com%2fimages%2ftineye_logo_big.png&limit=30&offset=10

钥匙

vibaHBXwUXFqVSg-+kTrqYJZEJkbVeqLc=bo.LlX

输出

9e734661c9e8b6dc9b6b4b3def9769c00e8843b8

问题

但是,我无法在 Coldfusion 中复制输出。我正在使用上一个 Stackoverflow.com 问题中的函数

这返回

nnNGYcnottyba0s975dpwA6IQ7g=

任何帮助表示赞赏。

0 投票
1 回答
8125 浏览

java - HMACSHA256 输出字节/位

我的朋友告诉我使用“HMACSHA256”算法,我使用了以下代码:

只是想知道:

1)上面的实现看起来是标准的“HMACSHA256”吗?

2)输出(摘要)以 256 位或 16 字节的形式出现。这是否正确。

如果我们使用 HMACSHA256 算法,我们需要多少字节作为输出。

0 投票
1 回答
1521 浏览

objective-c - HMAC-SHA1 代码示例

我在objective-c中搜索hmac-sha1代码示例我看到了这个示例,它看起来清晰易读,问题是有一条不清楚的线:

那家伙说base64Encoding是他的自定义代码......

你能帮我填空并建议我需要放在那里吗?

谢谢。

0 投票
1 回答
1588 浏览

java - 对使用 AES 和 Hmac 的客户端和服务器如何相互验证感到困惑

场景是这样的:我有一个客户端和服务器在交谈。这是标准的想法:

  • 使用 Diffie-Hellman 在客户端和服务器之间生成密钥。
  • 将此密钥用于客户端和服务器上的 AES/CTR/PKCS7Padding 密码。
  • 在原始消息上使用 Hmac
  • 使用 AES 密码加密 Hmac 消息

所以这将允许客户端和服务器安全地交谈。

我正在查看的相关代码示例是此处的教程:使用 HMac 篡改消息,在 CTR 模式下使用 AES 加密:高级加密标准 « 安全 « Java 教程

我能够为客户端和服务器生成密钥。我可以使用 Hmac 和 AES 对其进行加密。由于加密和解密是独立发生的,我不确定如何检索解密所需的相关信息。

这是我感到困惑的部分:

如果客户端发送加密消息,服务器如何检索ivSpechMac.getMacLength()hMacKey?服务器需要这些项目来解密来自客户端的消息。

我知道初始化向量(IV)可以从密文中保留,因为它被附加到结果密文的开头(我认为我必须手动添加它,因为我认为 AES 密码不会这样做?)。然而,用于验证消息完整性的 hMacKey 和 hMac 长度仍然是个谜。

最后一点,有人能解释一下这条线的目的是什么吗?这是用于加密还是解密?

0 投票
1 回答
1753 浏览

c# - 从 C# 到 PHP 的 HMACSHA1

我试图从 C# (.Net) 方法中理解这些代码行来创建签名。但是,我想在 PHP 中做同样的事情,但不太了解它在 C# 中的作用。

我想知道是否有任何 .net 开发人员可以帮助我用“英语”解释下面的代码?

非常感谢

这是我的PHP代码。它是否正确?

$signatureString = $methodName.':'.$timeStamp.':'.$accessID;
返回 hash_hmac('sha1', $signatureString, $accessKey, false);

更新:2012 年 5 月 30 日

现在才开始工作

0 投票
1 回答
319 浏览

hmac - 在 Vala 中编写 Hmac 函数

我正在 Vala 中为 Windows 和 Linux 编写一个跨平台应用程序。我需要实现 Hmac 以确保安全;但不幸的是,GHmac 类(链接)尚未移植到 Windows。我在维基百科(链接)上找到了 Hmac 的算法,我相信我正确地实现了它,但是与内置类相比,我没有得到相同的结果。如果有人可以帮我找到令人惊奇的错误,那么下面是我的功能。

0 投票
2 回答
10307 浏览

javascript - VBA中的Base64 HMAC SHA1字符串

我正在尝试将 ASP/VBScript OAuth 库转换为 VBA。挑战之一是这行代码:

这个函数,b64_hmac_sha1 实际上是一个包含在 JavaScript 库中的函数。在我看来,从 VBA 调用 JavaScript 函数是相当不切实际的。

因为我对加密知之甚少,所以我什至不清楚这个 b64_hmac_sha1 函数的作用。HMAC SHA1 与 SHA1 不同吗?

我有一半怀疑如果我只是了解这个函数实际上在做什么,我可能能够在网上找到一些 VBA 代码来做我需要做的事情。如果我没有找到现有的函数,我可能会编写一个使用 .NET Cryptography 库的函数(如果你知道怎么做,你实际上可以从 VBA 调用 .NET 加密库)。

我不是在寻找将这个 JavaScript 转换为 VBA 的人。我只是想了解这个 b64_hmac_sha1 函数正在输出什么,所以如果可能的话,我可以尝试找到在 VBA 中实现相同输出的方法。

此 JavaScript 库的副本可在本网站上看到。您必须从 VBScript 向下滚动到 JavaScript 部分。 http://solstice.washington.edu/solstice/ASP_Signing_REST_Example

Edit1:
好的,这是我最终编写和使用的函数:

使用此功能:

0 投票
1 回答
469 浏览

c# - 为什么无法正确计算 Amazon S3 授权

我在这里关注官方的 Amazon S3 REST API 文档,并且在计算它们在示例中显示的相同授权值时遇到问题。他们在第一个示例中显示的 base64 HMAC-SHA1 哈希是:

但我不断提出:

我在这里扯头发。我可能做错了什么?

从他们的第一个例子:

0 投票
2 回答
18374 浏览

java - Java中的HMAC SHA1签名

我正在尝试与 TransUnion Web 服务交互,我需要提供 HMAC-SHA1 签名才能访问它。

此示例在 TransUnion 文档中:使用安全密钥的
输入 创建.SampleIntegrationOwner2008‐11‐18T19:14:40.293ZxBy/2CLudnBJOxOtDhDRnsDYq9HTuDVr2uCs3FMzoxXEA/Od9tOuwSC70+mIfpjeG68ZGm/PrxFf/s/CzwxF4Q==/UhwvT/kY9HxiXaOjpIc/BarBkc=

鉴于该数据和密钥,我无法在 Java 中获得相同的结果。我试过几个在线计算器,也没有一个返回这个结果。他们文档中的示例是否不正确,或者我只是没有正确处理这些字符串?

这是我目前正在使用的代码:

这是我的单元测试代码: