问题标签 [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 回答
1496 浏览

php - PHP curl hash_hmac

在这方面需要帮助....我需要从 URL 的 API 调用中获取 json 数据。它说调用需要..

  1. 内容类型:应用程序/x-www-form-urlencoded
  2. HTTP 标头:密钥 ---> APIKEY
  3. HTTP HEADERS : sig ---> 带有 SECRET KEY 的 POST 数据的 HMAC-SHA1 签名
  4. POST PARAMETER: timestamp ----> Current Unix Timestamp

这是我的代码...

它给了我错误消息 {"error":"Invalid Signature!"}。有什么线索吗?

0 投票
1 回答
1365 浏览

python - 将 Python 的 base64.b64encode(hmac.new().hexdigest()) 转换为 Ruby

我如何转换

进入 Ruby 1.9.3?

这样它返回不同的字符串:

我应该如何生成哈希以使其等于 Python 的结果?

0 投票
1 回答
580 浏览

c# - 此代码不创建 HMAC 签名。我必须通过 C#.NET 创建 HMAC 签名,我该如何创建?

这是我的代码,我应该使用什么格式的输入字符串或输入字符串的实际格式是什么?prn号码应该是多少?或者我们可以假设任何 10 位数字作为 prn 来获得输出?

我也以另一种方式尝试过,但仍然无法正常工作,这是我的另一个代码,

我按照马丁所说的那样尝试过,现在我得到了 HMAC 签名,但是当我将它粘贴到 URL 时它没有向我显示 json,

0 投票
1 回答
3516 浏览

javascript - 使用带有 Google Apps 脚本的 HMAC 方法生成键控哈希值

有没有办法在 Google Apps 脚本中创建哈希值?Google Apps 脚本将在.gs代码文件中运行服务器端代码。该.gs文件是用 JavaScript 编写的。因为 JavaScript 主要是一种客户端语言,并且加密客户端的任何内容都不安全,所以可能无法使用诸如用于 Javascript 的 HMAC 之类的东西?当我进行网络搜索时hmac in javascript,我得到的第一件事是crypto-js. 但看起来我需要链接到<script>标签中的一些服务:

Secret Passphrase在您的客户端 HTML 中。这没有任何意义!哦!我刚刚在维基百科中找到了一些伪代码。

维基百科 HMAC 伪代码

这是我重构它的尝试:

我猜在伪代码声明的任何地方:hash(key)需要使用以下哈希函数之一:SHA-1、MD5、RIPEMD-128/160。

所以我在 JavaScript 中搜索了 SHA-1,发现了这个:

http://www.movable-type.co.uk

任何有关如何使用 Javascript 创建 HMAC 值的信息将不胜感激。在此期间,我可能会继续努力。尽管它是 Javascript,但它是.gs在服务器上运行的 Google Apps 脚本代码文件。

0 投票
2 回答
625 浏览

javascript - 我有我的私钥和 api 密钥,如何使用 javascript 创建 HMAC 签名。HMAC 签名到底是什么?

我想在印度铁路公司的 Sharepoint 应用程序中创建 HMAC-SHA1 签名我应该如何创建以下代码不起作用,我的意思是当我将 HMAC 签名复制粘贴到 URL 时,它会给出错误,{"error":"UNAUTHORIZED ACCESS. HMAC SIGNATURE MISMATCH."}. 并且不显示json,我应该如何实现它是我的代码。

0 投票
1 回答
266 浏览

java - 我的 HMACSHA1 摘要与 Twitter 的 Oauth 1.0a 不匹配

我正在尝试按照https://dev.twitter.com/docs/auth/creating-signature中的说明在 Android Java 中为 Twitter REST API 执行 Oauth 1.0a 。我可以完全按照指南中所示复制签名库。

POST&https%3A%2F%2Fapi.twitter.com%2F1%2Fstatuses%2Fupdate.json&include_entities%3Dtrue%26oauth_consumer_key%3Dxvz1evFS4wEEPTGEFPHBog%26oauth_nouce%3DkYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1318622958%26oauth_token%3D370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb%26oauth_version%3D1.0%26status%3DHello%2520Ladies%2520%252B%2520Gentlemen%252C%2520a%2520signed%2520OAuth%2520request%2521

签名密钥也完全匹配。但是当我使用以下代码生成 HMAC-SHA1 摘要时,我所拥有的十六进制与指南中显示的不同。

我得到 13 5D F8 C7 60 27 D5 26 69 23 D2 C3 05 A1 68 5C B3 1F 55 4B 的不是 Twitter 指南所拥有的 B6 79 C0 AF 18 F4 E9 C5 87 AB 8E 20 0A CD 4E 48 A9 3F 8C B6

有什么明显的我可能错过的吗?

0 投票
1 回答
515 浏览

java - 使用签名不匹配(Google RTB)解密超本地

在此处遵循 Google 的建议并使用他们的代码作为指南。我尝试使用他们的加密超本地字符串来测试我编写的解密方法(其中大部分来自 Google,尽管我自己编写这种方法的尝试让我很头疼)。

Signature Mismatch即使我提供了正确的完整性和加密密钥,并且我正在使用他们在示例解密中提供的字节数组(在谷歌的 RTB 解密超本地页面下方),我还是出于某种原因。

我这里有代码:

0 投票
1 回答
963 浏览

ssl - TLS 1.0 - 计算主密钥

RFC给出了公式

为此,P_hash 又具有以下公式:

RFC 还说

P_hash 可以根据需要进行多次迭代,以生成所需数量的数据。例如,如果 P_SHA-1 用于创建 64 字节的数据,则必须迭代 4 次(通过 A(4)),创建 80 字节的输出数据;最后一次迭代的最后 16 个字节将被丢弃,留下 64 个字节的输出数据。

我发现“P_hash 可以根据需要迭代多次以产生所需的数据量”令人困惑。到底需要多少次?是否有一个阈值,之后它多少无关紧要?如果有,这个门槛是多少?

0 投票
1 回答
3527 浏览

c# - Java 的 SecretKeySpec 类的 .NET 等效项是什么?

我在 Java 中获得了以下代码示例,但我无法将其转换为 C#。我将如何转换它以便它可以在 .NET 4.5 中工作?

由于 Duncan 指出了 HMACSHA512 类,这是我提出的 C# 代码,但是我无法在不安装 java 的情况下验证结果匹配,而这在这台机器上是做不到的。此代码是否与上述 Java 匹配?

0 投票
1 回答
1039 浏览

ruby - 如何使用 SHA-1 HMAC 为 ruby​​ 中的谷歌地图生成签名

我正在尝试在 ruby​​ 中使用 SHA-1 HMAC 为谷歌地图调用生成签名。我从互联网上得到了一个 python 的代码,我试图将它复制到 ruby​​ 中。以下是phython的代码

)

生成OI2DXDLq7Qd790Lokaxgqtis_pE=签名。

以下是我试图实现相同签名的 Ruby 代码。

但这似乎对我不起作用。请指导。