问题标签 [sha256]

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 回答
899 浏览

ocaml - 我的 SHA256 的 OCaml 实现是否健全?

我是一名新手 OCaml 程序员,并认为我会尝试实现一个非常棘手的算法,从而使自己陷入困境。我愿意接受所有大大小小的批评,无论是风格、安全还是性能相关。

我已经知道的一个批评是该算法要求整个消息都适合内存(而 SHA256 的参考实现可以一次处理一个块)。

我特别担心是否有任何递归函数不是尾递归的。

我已经测试了代码,它确实在 x86_64 Linux 上生成了正确的消息摘要。

提前感谢您的考虑。

编辑:

如果没有任何事情发生在你身上,请不要在这里花太多时间。我正在寻找明显破坏的行为,而不是重写。

因此,在单独的文件中定义的包函数是:

0 投票
2 回答
10050 浏览

vb.net - 在 VB.NET 中使用 HmacSHA256 加密字符串的正确方法

我需要为要发送给第 3 方的 XML 字符串创建一个键控散列。这是我正在使用的代码,但它产生的哈希值与第 3 方发送给我的示例不同。我已经阅读了所有可以找到的教程,并一次又一次地重新阅读 MSDN。我究竟做错了什么?还是我应该怀疑另一端有问题?

它需要进行 base-64 编码,这就是我有最后一行的原因。

谢谢

0 投票
1 回答
1740 浏览

c# - ruby 和 C# 之间 SHA 哈希的差异

我正在开发一个使用一些 REST Web 服务的应用程序。它的技术文档说我应该在请求中传递一些字符串的 SHA256 哈希。

在示例请求中(在文档中)一个字符串:

hn-Rw2ZHYwllUYkklL5Zo_7lWJVkrbShZPb5CD1expires=1893013926label[0]=any/somestatistics=1d,2d,7d,28d,30d,31d,lifetimestatus=upl,livetitle=a

执行后:

产生一个哈希:

YRYuN2zO+VvxISNp/vKQM5Cl6Dpzoin7mNES0IZJ06U

这个例子是用 ruby​​ 编写的,因为文档是为 ruby​​ 开发人员准备的。

当我执行时,我正在用 C# 和完全相同的字符串开发我的应用程序:

并删除尾随的“=”符号,我得到:

Vw8pl/KxnjcEbyHtfNiMikXZdIunysFF2Ujsow8hyiw

因此,应用程序无法执行,从而导致签名不匹配错误。

我尝试在将字符串转换为散列之前的字节数组时更改编码,但没有任何改变。

有任何想法吗?

0 投票
3 回答
1570 浏览

c - Lua SHA256 RFC-2104 兼容 HMAC 签名的最快路径?

我正在运行 Debian Linux,对于 Lua 脚本,我需要创建一个 SHA256 校验和来验证对 Amazon Web Services 的请求。他们不确定,但看起来他们可能想要对生成的 SHA256 校验和进行 base64 编码。

  • 如果有人做了 Lua 绑定,我会很高兴。
  • 如果有人可以帮助我弄清楚如何/usr/bin/sha256sum为此目的使用命令行,我会很满意。
  • 我会选择指向 C 代码的指针,并自己处理绑定和 base64 编码的麻烦。

我当然不需要为自己重新实现 SHA256;如果有人在他们喜欢的 ANSI 标准 C 中有实现,请告诉我。或者更好的解决方案!

0 投票
3 回答
3951 浏览

c# - SHA256CryptoServiceProvider 和相关可以在 WinXP 上使用吗?

是否可以在 Windows XP 上使用 SHA256CryptoServiceProvider 和相关的 SHA2 提供程序?我知道提供商使用 Vista 及更高版本中包含的加密服务,是否可以在 Microsoft 的 XP 中安装这些服务?

编辑:我应该提供更多信息,MSDN 上的文档在 Windows XP 中支持这一点是错误的。请参阅http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=355031,其中 Microsoft 承认并接受这是设计使然。但是,任何地方都没有列出任何工作(我看到),所以我不确定是否可以安装正常工作所需的服务,或者是否像在WinXP上安装IIS 6或7一样倾斜。

0 投票
6 回答
82340 浏览

python - 在python中使用字符串+密钥计算SHA哈希

Amazon Product API 现在需要对我尝试生成 ushing Python 的每个请求进行签名。

我挂断的步骤是这个:

“使用上面的字符串和我们的“虚拟”秘密访问密钥:1234567890,使用 SHA256 哈希算法计算符合 RFC 2104 的 HMAC。有关此步骤的更多信息,请参阅您的编程语言的文档和代码示例。

给定一个字符串和一个密钥(在本例中为 1234567890),我如何使用 Python 计算此哈希?

- - - - - - 更新 - - - - - - -

使用 HMAC.new 的第一个解决方案看起来是正确的,但是我得到的结果与它们不同。

http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?rest-signature.html

根据亚马逊的示例,当您对密钥 1234567890 和以下字符串进行哈希处理时

您应该得到以下签名:'Nace+U3Az4OhN7tISqgs1vdLBHBEijWcBeCqL5xN9xg='

我得到这个: '411a59403c9f58b4a434c9c6a14ef6e363acc1d1bb2c6faf9adc30e20898c83b'

0 投票
2 回答
315 浏览

delphi - 这个“StretchKey”实现有什么问题?

我正在尝试创建此算法的 Delphi 版本:

更新:(缺少功能)

这是我所拥有的(D2009 版本):

(请注意:T256BitArray 定义为 Array[0..31] of byte)

原始代码片段来自 Password Safe 开源应用程序。

我正在尝试打开现有的密码保存 (v3) 数据库进行读取。

看来我做什么都没关系,我不能让算法生成所需的哈希。

在上面的 Delphi 片段中,我使用的是 DEC v5.2 2009 组件集。我也试过 DCPcrypt 库。有趣的是,我从两个库中获得了相同的值,但没有任何结果与 PWSv3 文件中的哈希兼容。

我使用的 SHA256 组件都通过了 SHA256 测试向量哈希,所以我假设这是我在重新编码该方法时做错了。

我错过了什么吗?

已解决:一切都是正确的。问题在于密钥字符串的转换。我发现我必须使用WideCharToMultiByte函数来获得正确的代码页转换。

0 投票
3 回答
10475 浏览

python - Python 2.4 中的 SHA256 哈希

有没有办法可以在 Python 2.4 中计算 SHA256 哈希?(我强调:Python 2.4)我知道如何在 Python 2.5 中做到这一点,但不幸的是它在我的服务器上不可用,并且不会进行升级。我和这个问题中的人有同样的问题,但使用的是 Python 2.4。

0 投票
1 回答
2437 浏览

security - 使用带有 SHA256 的 PBKDF2 生成 128 位 AES 密钥是否安全?

我想使用带有一些加密哈希函数的 PBKDF2 来生成 128 位 AES 密钥。SHA1 也是 128 位的,所以我想将它与 PBKDF2 一起使用,但它被破坏了,所以我选择使用 SHA256。这是安全的,还是散列大小和生成的密钥大小之间的差异会导致某种灾难性的静默截断,从而使 AES 密钥变弱?我应该让它为 AES 生成 256 位密钥吗?

0 投票
1 回答
789 浏览

ruby - 用于 Ruby 的 SHA256 无法在 Mac 上运行

在我的 mac 10.5 上,当我使用命令 OpenSSL::Digest::Digest.new('sha256') 时,我得到 Unsupported digest algorithm (sha256)。有谁知道如何解决这个问题?