问题标签 [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.
ruby - Rails 3 - 使用 HMAC-SHA256 签署响应
我正在使用 OpenSSL HMAC SHA256 方法签署我对服务器的所有请求,使用私钥生成 HASH。我的请求看起来像:
www.myserver.com/url/to/resource?par1=val1&par2=val2&par3=val3&hash=GENERATEDHASH
所以我的服务器使用参数和相同的键计算哈希,如果哈希匹配他认为请求是好的。
我也想签署响应(可能使用 HTTP 标头)。我的想法是使用响应的内容计算哈希并将该哈希添加到标题中,以便我的另一方可以在处理之前验证该响应。
关于如何做到这一点的任何想法?
encryption - Coldfusion HMAC-SHA1 加密
这里有一个适用于 javascript 的示例 HMAC-SHA1
要加密的文本
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=
任何帮助表示赞赏。
java - HMACSHA256 输出字节/位
我的朋友告诉我使用“HMACSHA256”算法,我使用了以下代码:
只是想知道:
1)上面的实现看起来是标准的“HMACSHA256”吗?
2)输出(摘要)以 256 位或 16 字节的形式出现。这是否正确。
如果我们使用 HMACSHA256 算法,我们需要多少字节作为输出。
objective-c - HMAC-SHA1 代码示例
我在objective-c中搜索hmac-sha1代码示例我看到了这个示例,它看起来清晰易读,问题是有一条不清楚的线:
那家伙说base64Encoding是他的自定义代码......
你能帮我填空并建议我需要放在那里吗?
谢谢。
java - 对使用 AES 和 Hmac 的客户端和服务器如何相互验证感到困惑
场景是这样的:我有一个客户端和服务器在交谈。这是标准的想法:
- 使用 Diffie-Hellman 在客户端和服务器之间生成密钥。
- 将此密钥用于客户端和服务器上的 AES/CTR/PKCS7Padding 密码。
- 在原始消息上使用 Hmac
- 使用 AES 密码加密 Hmac 消息
所以这将允许客户端和服务器安全地交谈。
我正在查看的相关代码示例是此处的教程:使用 HMac 篡改消息,在 CTR 模式下使用 AES 加密:高级加密标准 « 安全 « Java 教程
我能够为客户端和服务器生成密钥。我可以使用 Hmac 和 AES 对其进行加密。由于加密和解密是独立发生的,我不确定如何检索解密所需的相关信息。
这是我感到困惑的部分:
如果客户端发送加密消息,服务器如何检索ivSpec
、hMac.getMacLength()
和hMacKey
?服务器需要这些项目来解密来自客户端的消息。
我知道初始化向量(IV)可以从密文中保留,因为它被附加到结果密文的开头(我认为我必须手动添加它,因为我认为 AES 密码不会这样做?)。然而,用于验证消息完整性的 hMacKey 和 hMac 长度仍然是个谜。
最后一点,有人能解释一下这条线的目的是什么吗?这是用于加密还是解密?
c# - 从 C# 到 PHP 的 HMACSHA1
我试图从 C# (.Net) 方法中理解这些代码行来创建签名。但是,我想在 PHP 中做同样的事情,但不太了解它在 C# 中的作用。
我想知道是否有任何 .net 开发人员可以帮助我用“英语”解释下面的代码?
非常感谢
这是我的PHP代码。它是否正确?
$signatureString = $methodName.':'.$timeStamp.':'.$accessID;
返回 hash_hmac('sha1', $signatureString, $accessKey, false);
更新:2012 年 5 月 30 日
现在才开始工作
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:
好的,这是我最终编写和使用的函数:
使用此功能:
c# - 为什么无法正确计算 Amazon S3 授权
我在这里关注官方的 Amazon S3 REST API 文档,并且在计算它们在示例中显示的相同授权值时遇到问题。他们在第一个示例中显示的 base64 HMAC-SHA1 哈希是:
但我不断提出:
我在这里扯头发。我可能做错了什么?
从他们的第一个例子:
java - Java中的HMAC SHA1签名
我正在尝试与 TransUnion Web 服务交互,我需要提供 HMAC-SHA1 签名才能访问它。
此示例在 TransUnion 文档中:使用安全密钥的
输入
创建.SampleIntegrationOwner2008‐11‐18T19:14:40.293Z
xBy/2CLudnBJOxOtDhDRnsDYq9HTuDVr2uCs3FMzoxXEA/Od9tOuwSC70+mIfpjeG68ZGm/PrxFf/s/CzwxF4Q==
/UhwvT/kY9HxiXaOjpIc/BarBkc=
鉴于该数据和密钥,我无法在 Java 中获得相同的结果。我试过几个在线计算器,也没有一个返回这个结果。他们文档中的示例是否不正确,或者我只是没有正确处理这些字符串?
这是我目前正在使用的代码:
这是我的单元测试代码: