问题标签 [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 投票
2 回答
381 浏览

security - 使用通道加密 (https) 是否会使散列密钥变得多余?

我正在设计一个客户端连接到的 Web 服务,以检索一些私人数据。每个客户端都有一个唯一的 ID 和一个密钥(由服务器生成),它们作为参数发送到 Web 服务,以便对其自身进行身份验证。此外,所有通信均通过 HTTPS 完成。

我还计划使用 HMAC-SHA256,以避免通过网络发送密钥。

但是,我想知道这是否是绝对必要的。由于 HTTPS 为我提供了客户端和服务器之间的安全通道,为什么我真的介意通过该通道发送密钥?

我设法想出的唯一原因是,不知情的开发人员将来可能会添加服务并且不会拒绝非 HTTPS 连接,因此散列密钥是对公司软件开发现实的一种保险,多出一条线如果你愿意的话。

我错过了更重要的东西吗?这是一些攻击媒介可以利用的真正漏洞吗?

0 投票
3 回答
64313 浏览

c# - 如何在 C# 中生成 HMAC-SHA1?

我正在尝试使用 C# 来使用 REST API。API 创建者提供了 PHP、Ruby 和 Java 的示例库。我挂断了它的一部分,我需要生成一个HMAC.

这是他们提供的示例库中的完成方式。

PHP

红宝石

爪哇

这是我在 C# 中的尝试。它不工作。更新:下面的 C# 示例工作得很好。我发现真正的问题是由于我的signatureString.

0 投票
5 回答
67166 浏览

java - HMAC-SHA1:如何在 Java 中正确执行?

我正在使用 HMAC-SHA1 散列一些值,使用 Java 中的以下代码:

Hex()属于org.apache.commons.codec

在 PHP 中有一个类似的函数hash_hmac(algorithm, data, key),我用它来比较我的 Java 实现返回的值。

所以第一次尝试是:

返回:74ae5a4a3d9996d5918defc2c3d475471bbf59ac

我的 Java 函数74ae5a4a3d9996d5918defc2c3d475471bbf59ac也返回。

好的,它似乎工作。然后我尝试使用更复杂的密钥:

返回:e98bcc5c5be6f11dc582ae55f520d1ec4ae29f7a

虽然这次我的 Java impl 返回:c19fccf57c613f1868dd22d586f9571cf6412cd0

我的 PHP 代码返回的哈希值不等于我的 Java 函数返回的值,我不知道为什么。

有小费吗?

0 投票
1 回答
4053 浏览

c# - 一次性密码 (OTP) C# 到 Java 的代码转换

去年,我用 C# 编写了一次性密码 (OTP) 生成器。现在我需要在 Java 中使用 OTP 生成器,但我在 Java 中找不到等效的函数。

这是我去年写的代码:(我知道这个 OTP 的安全性很低,但我不需要防弹的)

这是我尝试将 C# 转换为的 Java 代码:(这只是 SHA1 部分,我找不到如何用 Java 编写 HMAC-MD5)

感谢帮助

0 投票
1 回答
1204 浏览

objective-c - Using CommonCrypto/CommonHMAC to encrypt some data and always comes back null

I tried the following to encrypt the clearTextData using the key keyData. And I did check to make sure that both of those values are valid and going through.

The log always comes back saying encrypted data: (null)

Any ideas?

* UPDATE *

Here are examples of the key and data that I am passing:

key: 983745hjhgfd3454

data: {"data":"lala","pubKey":"75948458","sig":"val"}

0 投票
1 回答
609 浏览

android - Android中的HMAC-Whirlpool实现

有没有人在 Android 手机上实现或使用 Hmac-Whirlpool?
我在互联网上找到了whirlpool.java,但 Android SDK 中的默认安全提供程序似乎没有 Whirlpool 或 Hmac-Whirlpool。

0 投票
1 回答
474 浏览

md5 - 在已经散列的值上使用 HMAC,是好是坏?

大家好,我有一个问题,这是否是好的做法。我知道由于各种原因,简单地对一个值进行双重散列可能会很糟糕。

我想做的就是这样,在 php.ini 中。

这样做的原因是我们正在通过一个封闭的 api 与一个受信任的合作伙伴进行身份验证。密码以 MD5 散列形式存储在我们的数据库中。但是,我不希望我们的合作伙伴通过网络发送相同的值。

这样,我可以将我们数据库中的 md5 密码与我们的合作伙伴发送的唯一哈希进行比较。

你说什么?

0 投票
2 回答
671 浏览

java - 使用 SHA1 的 Fantom HMAC 的 Java 等价物

我在 Java 中执行以下操作时遇到问题。下面是我正在使用的工具文档中的 Fantom 代码。

我一直在通过 Google 搜索各种示例,但没有一个产生文档声明应返回的结果。

有 Fantom 知识的人可以验证文档中的示例是否正确吗?

至于Java方面,这是我最近的尝试

但是,当我使用以下参数调用该方法时

我明白了

0 投票
1 回答
1745 浏览

security - HMAC SHA-512 计算 + 时间戳

我正在做一个在线“黑客”挑战,我正在努力达到一个新的水平。

在当前级别,我们获得了“快速思考”的标题,并提出了以下问题,

“斐波那契数列中的元素 x 是什么,其中元素零为 0?”

其中 x 是随机生成的。

当我计算答案并提交它时,它会提示我对上述问题的另一个迭代(x 的值不同),并显示“回答不够快”。我已经尝试尽可能快地提交答案,但无济于事,所以必须有另一种方法。

如果我们查看页面的源代码,我们会看到以下内容:(我只会发布我认为有趣/相关的部分)

所以我的下一个想法是通过更改 url 中包含的信息来编辑时间戳,就像这样

(只是一个例子来解释我的做法,可能与上面代码中列出的答案、时间戳、hmac 不匹配)

http ://www.skullspace.net/2011/08-batman/herecomes9.php?answer=1×tamp=1&number=1&hmac=e41bd1f9093a67b70ce9316b19abc1862ec 35c5c0f746444d8018286bf19d9adb05a652c46b5de53b2d4f d6bfb2c1f848c8dc92a54e84d042953d6b48b30b0f9

如果我将它提交到我的浏览器中,我们会得到标题,“不要试图变得聪明,HMAC 必须与你提供的参数相匹配。”

这就是我卡住的地方。

有没有人对我如何进入下一个级别有任何想法或提示?我可以以某种方式使 HMAC 匹配吗?完全有另一种方法吗?

感谢您的想法/输入/帮助!

0 投票
1 回答
377 浏览

php - 与 SHA512 一起使用时,我应该为 php 的 hmac 制作密钥多长时间?

我正在使用此代码对密码进行哈希处理:

4096 位对于密钥是否足够?

谢谢!