问题标签 [hmac]

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 投票
5 回答
7652 浏览

c++ - 如何在 Qt 中实现 HMAC-SHA1 算法

我正在尝试在我的 C++/Qt 应用程序中实现 HMAC-SHA1 算法。我有一个 Sha1 算法可用的方法,我只需要了解它的 HMAC 部分。

此伪代码来自维基百科:

什么是块大小?zeroes 函数在第 8 行有什么作用?你如何用 C++ 表达第 12-13 行?

0 投票
2 回答
7757 浏览

java - 如何在 GAE/J 上创建 OAuth HMAC-SHA1 签名?

编辑:java 相当于 php 的 hmac-SHA1
(希望,尝试 atm)

我的理解是,要创建签名,我需要一个“基本字符串”和一个“密钥”。我想我知道如何创建基本字符串,并且我假设我应该使用 Google 分配给我的应用程序的“OAuth Consumer Secret”作为密钥。

但是我应该如何处理这两个来获得签名?GAE/Java 上是否有任何 HMAC 类?

如果我只是将OAuth Playground为我生成的内容存储在某个地方,它会播放吗?是你怎么做的吗?或者 OAuth 签名是否有过期日期?

(我之前尝试过 AuthSub,但也失败了,尽管它看起来很简单。OAuth 对我来说似乎更“标准”,所以我想坚持使用 OAuth。)

0 投票
1 回答
317 浏览

oauth - 使用 OAuth 的 HMAC SSL 证书问题

我对这个话题有点陌生,所以请保持温和;)我正在尝试使用名为 Dossia(http://dossia.org)的 3rd-party Health API。

我设置了一个测试帐户并收到了我的 OAuth 消费者密钥和秘密,在配置中有一行说

定义('USER_SIG_METHOD','HMAC-SHA1');

我的问题是如何使我的服务器的“签名方法”HMAC-SHA1?

这只是一个带有 Fedora 的非 SSL 开发盒,我确实有一个带有 SSL 的生产盒,但我希望在将其投入生产之前获得一个沙盒帖子。

当我卷曲帖子时,我收到 404 错误,并且卷曲句柄的信息显示为:

所以我假设这是问题所在,我已经搜索了他们的 wiki,可以在此处找到但是关于签名方法的唯一说明是他们只支持 HMAC,我是否需要包含一个像我的产品上的证书一样的证书盒子?还是我走错了方向?

任何建议都会帮助我,谢谢!

0 投票
2 回答
41976 浏览

security - 消息摘要、消息验证码和 HMAC 有什么区别?

我对消息摘要的理解是,它是一些与加​​密数据一起发送的数据的加密哈希,因此您可以验证数据没有被篡改。那么这个和消息认证码(MAC)和哈希MAC(HMAC)有什么区别?

0 投票
1 回答
963 浏览

java - hmac 消息加密,但使用我们自己的密钥

上面的代码将为我们提供使用 HMAC 消化消息的密钥。现在我想在 java 中实现一个 HMAC 逻辑,其中密钥将由用户给出。有任何想法吗?

0 投票
1 回答
1075 浏览

encryption - 如果数据是流式传输的或对于 HMAC 来说太大,是否防止“填充预言机”攻击?

我知道针对填充预言攻击的最佳解决方案是将 HMAC 包装并附加到完整的加密消息中。但是还有哪些其他解决方案?如果我的数据太大而需要流式传输怎么办?我可以在最后检查 HMAC,但我不能加载整个文件两次并先检查 HMAC,然后将其流式传输并解密给用户?

有不同的方法吗?

如果我使用 AES_CBC(zlib(data)),攻击者也可以进行填充 oracle 攻击吗?如果压缩后的数据最终出现乱码,zlib 将发出错误。攻击者也可以使用 zlib 的错误来获取一点信息吗?

0 投票
1 回答
159 浏览

base64 - 为什么某些应用程序基于 64 位编码 HMAC?

为什么有些应用程序基于 64 位编码 HMAC,即使它不是用于邮件目的?它是旧实现或实践的痕迹吗?

如果你在谷歌上用“HMAC”、“base”和“64”这些词做一点研究,你会看到很多人这样做,我不知道为什么。我很确定它与存储或输出无关。

0 投票
3 回答
11201 浏览

erlang - Erlang计算HMAC-SHA1的例子?

在 Erlang 中计算 HMAC-SHA1 的任何示例或库?

我尝试了 Crypto Module,但显然不完全匹配。有什么例子吗?

0 投票
3 回答
6677 浏览

php - 使用 hmac 保护 javascript 客户端

我正在研究保护我正在开发的 javascript 应用程序的方法。该应用程序是一个聊天客户端,它使用 APE(Ajax 推送引擎)作为后端。

目前,任何人都可以访问该页面并向 APE 服务器发出 GET/POST 请求。我只想为注册用户提供聊天客户端,并且我想确保只接受他们的请求。我可以使用 PHP 的用户名/密码身份验证来为用户提供页面。但是一旦他们有了页面,有什么可以阻止他们修改 javascript 或让它落入坏人之手?

这种保护客户端/服务器应用程序的方法看起来很有前途:http ://abhinavsingh.com/blog/2009/12/how-to-add-content-verification-using-hmac-in-php/

我有另一个消息来源说这是 javascript 客户端的理想选择,因为它不依赖于发送私钥。但这怎么可能呢?根据上面的教程,客户端需要提供私钥。这似乎不太安全,因为拥有 javascript 的任何人现在都拥有该用户的私钥。据我了解,它会像这样工作:

  1. 用户使用用户名和密码登录
  2. PHP 验证用户名和密码,查找用户的私钥并将其插入到 javascript
  3. Javascript 提供签名(使用私钥),以及所有 APE 请求的公钥
  4. APE 将计算的签名与接收到的签名进行比较,并决定是否处理请求。

如果 javascript 应用程序需要知道私钥,这如何安全?

谢谢您的帮助!

0 投票
3 回答
12244 浏览

c# - C# 中基于 HMAC 的一次性密码 (RFC 4226 - HOTP)

我正试图围绕生成一个 6 位/字符不区分大小写的一次性到期密码。

我的来源是https://www.rfc-editor.org/rfc/rfc4226#section-5

首先定义参数

然后我们有了生成 HOTP 的算法

然后,我们将截断定义为

然后提供了一个 6 位数 HOTP 的示例

我在尝试将其转换为有用的 C# 代码以生成一次性密码时不知所措。我已经有用于创建过期 HMAC 的代码,如下所示:

我只是不确定如何从上述算法中建议的 6 位数字。