问题标签 [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.
.net - 是否为长度为零的消息定义了 HMACSHA1?
我有一个边缘案例。我正在构建读取由商业闭源工具生成的二进制数据文件的代码。有关数据格式的信息在文档中指定。
对于数据完整性检查,供应商的规范要求使用基于 SHA1的HMAC ,使用根据RFC2898的密码派生的密钥。许多编程环境都有一个名为 HMACSHA1 的类来生成这些哈希值。
对于非零长度的数据流,我可以成功计算出Hash,并且我的代码中的计算与厂商的实现一致。换句话说,我的代码可以读取和验证供应商编写的文件,反之亦然。
但是,当数据流的长度为零时,供应商的工具会发出一个不全为零的哈希。我不知道它来自哪里,如果没有消息通过 HMACSHA1 运行。
对于 HMACSHA1 或任何 HMAC,是否为“空消息”的边缘情况定义了 MAC?
我正在使用 .NET 和System.Security.Cryptography.HMACSHA1类,尽管我相信我的问题与平台无关。
有一个特定于平台的位:当我尝试在该类型的实例上获取 Hash 属性时,如果我没有通过该实例运行任何数据,我会得到
这对我来说一点也不奇怪,因为没有什么可以散列的。
任何提示?
actionscript - ActionScript 的 HMAC-SHA-512 实现
如标题所述,我想找到为 ActionScript 编写的 HMAC-SHA-512 的实现。我能够找到一个为 HMAC-SHA-256 提供其他功能的库,但是,我正在寻找 HMAC-SHA-512。
谢谢
编辑:
或者,由于 actionscript 和 javascript 具有相同的来源,有人可以将此 javascript 版本移植到 actionscript 中吗?
http://pajhome.org.uk/crypt/md5/sha512.html
编辑2:
我已经将代码从 javascript 移植到了 actionscript。该代码可以在这个问题 Porting SHA-512 Javascript implementation to Actionscript的答案之一中找到
php - Ruby 和 PHP HMAC 不同意
我正在尝试在 Ruby 中创建一个 HMAC,然后在 PHP 中对其进行验证。
红宝石:
PHP:
对于 Ruby,我得到: 20e3f261b762e8371decdf6f42a5892b530254e666508e885c708c5b0bfc03d3
对于 PHP,我得到:e5f6995ba1496b2fb144329b2d1b3b23c8fa3211486e57bfaec5d993a1da9d15
我和一些同事完全不知所措,任何帮助将不胜感激。
ruby-on-rails - 如何在 Ruby 中使用 HMAC 模块创建 MD5 哈希?
使用 Google + Bing 并没有回答应该是一个简单的问题:
你应该如何使用 Ruby 中的 HMAC 模块来创建一个带有 MD5 的 HMAC(它使用一个秘密)?
HMAC 文档看起来非常薄。
谢谢!
.net - 在 .NET 中为 XMLSerialized 对象生成哈希签名 (HMAC) 的最佳方法?
我需要为使用 .NET 框架中的 XMLSerializer 序列化的对象生成 HMAC。每个对象都将包含一个名为“HMAC”的属性,该属性将包含对象本身值的哈希值,但不包括“HMAC”字段。我发现这个问题提到了 CLR 中的内置解决方案,但没有详细说明它的确切名称或我如何使用它?
示例对象看起来像这样:
HMAC 属性需要设置为整个对象的序列化,不包括 HMAC 对象本身。我的第一个想法是设置某种两遍序列化,其中包括:
- 在第一次通过时将 xmlignore 属性设置为 HMAC 对象
- 序列化整个对象
- 散列结果,并设置 HMAC 属性的值
- 重新序列化整个事情,准备传输。
这是最好的方法吗?以前有没有人做过这样的事情,你发现什么是最干净的方法???
php - HMAC - 在 Objective-C 中 PHP 算法的实现
我必须在我的 iPhone 应用程序中实现 HMAC MD5。算法的PHP版本(实现服务器端进行验证)在这里,我不能修改它(它是一个API)
我发现了几个objective-C实现:
没有返回相同的结果(PHP!= ObjC)。
我使用 ObjC 实现将摘要长度更改为 32(结果与 PHP 实现的长度相同),密钥长度为 64(对应于第一个 str_pad),但结果总是不同的。
有人可以告诉我如何在 Objective-C 中获得相同的结果吗?
编辑:由于 ObjC 中的 2 个实现返回相同的结果,因此这里只有一个有用..
php - 这两行 PHP 有何不同?
假设我们在数据库中有一个盐,并且已经像这样生成
$salt = time();
这两条线有什么区别。
它们不会产生相同的输出。第一个,该hash
函数需要 2 个参数,而hash_hmac
需要 3 个参数。因此,您会认为我们可以通过使用$salt
单独的(以实现第三个参数)而不是像我们在第 2 行中那样将其与密码 ( $password . $salt
) 连接来获得第三个额外参数。但这并不是那么简单,两个结果是不同的。为什么?这里到底发生了什么?
c# - ruby 中的 hmac-sha1 与 C# HMACSHA1 不同
我正在尝试从ankoder.com测试 API,并且在身份验证令牌的摘要计算上遇到问题。当我尝试从 C# 调用时,示例是 ruby。当我比较 HMAC-SHA1 中的摘要结果时,我遇到了密钥结果的问题。
为了方便测试,代码如下:
这给了我结果:“X/0EngsTYf7L8e7LvoihTMLetlM=\n”如果我在 C# 中尝试以下内容:
salt 结果是一样的,但是密码结果是不同的——C# 给了我:
QLC68XjQlEBurwbVwr7euUfHW/k=
两者都生成盐:f5cab5092f9271d43d2e
知道发生了什么吗?
apache - 什么是 auth_tkt cookie 格式?
Apache 模块auth_tkt
创建可以加密验证的身份验证 cookie,因此 Web 服务器可以在REMOTE_USER
不咨询数据库的情况下生成。auth_tkt
cookie的规格是什么?