问题标签 [cryptographic-hash-function]

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

php - PHP - Web 服务的加密和签名创建

我需要使用 PHP 创建一个“密钥”才能使用 Web 服务,但这对我来说毫无意义。

Web 服务已被证明可以与 C# 应用程序一起使用,但我需要通过 PHP 访问它。

为了使用该服务,我需要一个“密钥”,然后是基于该密钥的身份验证签名。

我尝试过的所有操作都会从 Web 服务中引发错误。

对于“秘钥”,简要说明为:

  1. ASCII 编码纯文本密码
  2. 使用 MD5 对编码密码进行哈希处理
  3. 获取 MD5 哈希字节并执行按位操作 '& 127'</li>
  4. 转换为base64字符串

我不清楚第 3 点——其余的都很直截了当;我在这里想念什么?

然后生成身份验证签名的简要说明是:

  1. 密钥的 UTF-8 编码(秘密访问密钥是第 4 步的结果)
  2. 日期的 UTF-8 编码
  3. HMAC-SHA1 (UTF-8-Encoding-Of (Secret access key, RequestDate))
  4. Base 64 字符串

同样,我在上面看不到任何问题 - 这只是第 3 点让我失望。

任何指针?

0 投票
1 回答
21392 浏览

hash - 哈希算法 SHA-2 和 SHA-3 有什么区别?

我知道 SHA-224、SHA-256、SHA-384 和 SHA-512 都是SHA-2 哈希函数系列的一部分。但现在还有一种新的 SHA-3 哈希算法。

你能告诉我SHA-2和SHA-3之间的区别吗?何时以及为什么应该使用 SHA-3?SHA-3 实际上包含哪些安全哈希算法?

0 投票
2 回答
970 浏览

java - 使用加密哈希函数之前和之后

在查看了用于生成 Java MD5 和 SHA* 哈希的多个在线参考之后,我注意到纯文本(文件字符串)在被馈送到 Digest 对象以生成哈希之前和之后都经过了一定的准备。具体来说,数据首先转换为字节数组,然后馈送到摘要,然后将输出哈希转换为十六进制流。为什么所有这些字节和十六进制转换?

PS:我想答案与 Java 和 Digest 对象如何开展业务有关,我提出这个问题的动机是了解这种行为,并可能获得对一些文档/文献的参考,以深入解释这一点.

丹克!

0 投票
1 回答
1906 浏览

c - 在 openssl 中生成 16 位哈希值的最佳加密哈希函数是什么?

我想只使用 SHA256,然后只使用结果的前两个字节。这种方法有什么问题吗?

注意:这里关注的不是恶意攻击,而是确保对随机位翻转提供最佳保护。

0 投票
2 回答
1693 浏览

cryptography - RSA-OAEP:密码散列函数如何扩展位数?

首先,这个问题与代码无关,但我试图了解代码背后发生了什么。希望有人知道这个问题的答案,因为它困扰了我一段时间。

我正在用 c# 编写一个程序,它使用 RSA 加密服务提供程序。据我所知,该课程在其填充中按标准使用 SHA1。我一直试图了解填充过程中实际发生的情况,但似乎无法理解该过程中的一个步骤。

我目前正在查看的 OAEP 算法只是 wiki 算法。 http://en.wikipedia.org/wiki/OAEP

困扰我的步骤是3)。我认为散列函数总是返回一定数量的位(SHA1 - 160bits),那么它如何简单地将位数扩展到 n-k0,而标准的 1024 密钥位强度将是 864 位?

0 投票
1 回答
1339 浏览

python-2.7 - Python Tornado:这安全吗?

我在这里有点菜鸟,所以我试图找出一些关于网络安全的基础知识。我有一个非常基本的 Tornado 服务器正在运行,虽然它仅供我使用,但我想确保我没有犯任何明显的安全错误。

1)除了登录处理程序之外的每个处理程序都由@tornado.web.authenticated. 未经身份验证的用户是否可以提交给我的 AJAX 处理程序等?(即我需要为他们担心多少?)

2)这是我的登录和身份验证交易:

关键是不受信任的输入仅用于 python 的 urllib.sha512.update() 函数和字符串比较。这是“安全的”吗?[注意:授权文件是手工制作的,代码中没有更改它的功能。]

3)一般来说,我还应该担心什么?

0 投票
1 回答
64 浏览

graph - 分发具有验证和非依赖列表生成的块

问题
假设我有一个可以与父节点通信但不能相互通信的节点系统。假设然后父节点上的文件被分成块并在子节点之间划分。然后从父节点中删除该文件。

如果父级随后向子级请求块,如何在不保留父级上所有文件的列表的情况下重建原始顺序。此外,为了防止其中一个节点恶意修改区块,父节点还必须验证返回的区块。

最佳解决方案
命名文件块的系统,其中文件列表可以在给定种子的任何节点上生成。给定列表,父母应该能够以某种方式使用该列表来验证从孩子返回的块。

尝试#1
所以到目前为止我所拥有的是能够最小化存储块列表的能力。我通过这样命名块来做到这一点:

这可以通过仅保留种子(block_0 的名称)和块数(例如 5d41402abc4b2a76b9719d911017c592,5 --> seed,files)来保留文件的顺序。但是,这将不允许独立验证文件。

尝试 #2
只需获取每个块的哈希并将其存储在列表中。然而,这效率不高,如果需要跟踪大量块,将导致仅为此任务分配大量内存。这是不行的。

0 投票
1 回答
82 浏览

hash - 加权分布哈希位

我想问一下,哈希函数是否有权重分布方程?

就像在通道编码理论中一样,reed-solmon 的权重枚举器方程可以为您提供 wight i 的单词数。

谢谢

0 投票
1 回答
3194 浏览

hash - 哈希函数中的碰撞概率是多少?

我想问一下Hash Function中的碰撞概率?

谢谢

0 投票
1 回答
202 浏览

hash - 认证加密模式与通用组合方案的区别

我想问一下:

认证加密模式和密码学中的通用组合方案有什么区别?

谢谢