- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题是off-topic .它目前不接受答案。
想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。
9年前关闭。
Improve this question
我知道 SHA-224、SHA-256、SHA-384 和 SHA-512 都是 SHA-2 hash function family 的一部分.但现在还有一种新的 SHA-3 哈希算法。
你能告诉我SHA-2和SHA-3之间的区别吗?何时以及为什么应该使用 SHA-3? SHA-3 实际上包含哪些安全哈希算法?
最佳答案
SHA-3 ,也称为 Keccak(它在被选为 NIST SHA-3 competition 获胜者之前的原名),是一种全新的哈希算法,与 SHA-1 和 SHA-2 无关。
事实上,NIST 之所以选择 Keccak 而不是其他 SHA-3 竞赛决赛选手,原因之一是它与现有的 SHA-1/2 算法不同。有人认为,这种不同使其成为对现有 SHA-2 算法(仍被 NIST 认为是安全且推荐的)的更好补充,并且使得 future 任何密码分析突破都不太可能危及 SHA-2 算法的安全性。 2 和 SHA-3。
在某些背景下,SHA-3 哈希函数竞赛最初是由 NIST 在 2007 年宣布的,当时一些新的密码分析攻击使 SHA-1 的安全性受到质疑。虽然当时对 SHA-1 的攻击主要是理论上的兴趣,但人们担心这些技术的进一步改进可能会允许对 SHA-1 进行实际的碰撞发现攻击,并且相同的技术也可能适用于 SHA-2,它与 SHA-1 具有相似的设计。因此,NIST 决定举办一场比赛来选择 SHA-2 的继任者,将其命名为 SHA-3。
然而,虽然对 SHA-1 was finally demonstrated in 2017 的真实世界碰撞攻击,对 SHA-2 的可怕攻击未能实现。现在人们普遍认为,破解 SHA-2 不会像十年前那样容易,因此在可预见的 future ,SHA-2 的所有变体仍然被认为是安全的。然而,由于 NIST 已 promise SHA-3 将在 2012 年被选中,并且由于很多人花费了相当多的时间和精力来提交和评估新的哈希函数以供竞赛,并且因为有一些非常好的设计在决赛选手中,毕竟不选择他们中的任何一个作为获胜者似乎是一种耻辱。因此 NIST 决定选择 Keccak 作为 SHA-3,并推荐它作为 SHA-2 散列函数的替代(而不是继任者)。
这意味着,如果您想要一个安全且标准化的哈希函数,您可以选择 SHA-2 或 SHA-3。如果你真的很偏执,你甚至可能想要同时使用这两种方法,并设计你的密码系统,以便即使其中一个哈希函数被破坏,它也能保持安全。
关于hash - 哈希算法 SHA-2 和 SHA-3 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14356526/
我正在尝试 grep conf 文件中所有不以 开头的有效行 哈希(或) 任意数量的空格(0 个或多个)和一个散列 下面的正则表达式似乎不起作用。 grep ^[^[[:blank:]]*#] /op
我正在使用哈希通过 URL 发送 protected 电子邮件以激活帐户 Hash::make($data["email"]); 但是哈希结果是 %242y%2410%24xaiB/eO6knk8sL
我是 Perl 的新手,正在尝试从文本文件创建散列。我有一个代码外部的文本文件,旨在供其他人编辑。前提是他们应该熟悉 Perl 并且知道在哪里编辑。文本文件本质上包含几个散列的散列,具有正确的语法、缩
我一直在阅读 perl 文档,但我不太了解哈希。我正在尝试查找哈希键是否存在,如果存在,则比较其值。让我感到困惑的是,我的搜索结果表明您可以通过 if (exists $files{$key}) 找到
我遇到了数字对映射到其他数字对的问题。例如,(1,2)->(12,97)。有些对可能映射到多个其他对,所以我真正需要的是将一对映射到列表列表的能力,例如 (1,2)->((12,97),(4,1))。
我见过的所有 Mustache 文档和示例都展示了如何使用散列来填充模板。我有兴趣去另一个方向。 EG,如果我有这个: Hello {{name}} mustache 能否生成这个(伪代码): tag
我正在尝试使用此公式创建密码摘要以获取以下变量,但我的代码不匹配。不确定我做错了什么,但当我需要帮助时我会承认。希望有人在那里可以提供帮助。 文档中的公式:Base64(SHA1(NONCE + TI
我希望遍历我传递给定路径的这些数据结构(基本上是目录结构)。 目标是列出根/基本路径,然后列出所有子 path s 如果它们存在并且对于每个子 path存在,列出 file从那个子路径。 我知道这可能
我希望有一个包含对子函数的引用的散列,我可以在其中根据用户定义的变量调用这些函数,我将尝试给出我正在尝试做的事情的简化示例。 my %colors = ( vim => setup_vim()
我注意到,在使用 vim 将它们复制粘贴到文件中后尝试生成一些散列时,散列不是它应该的样子。打开和写出文件时相同。与 nano 的行为相同,所以一定有我遗漏的地方。 $ echo -n "foo"
数组和散列作为状态变量存在限制。从 Perl 5.10 开始,我们无法在列表上下文中初始化它们: 所以 state @array = qw(a b c); #Error! 为什么会这样?为什么这是不允
在端口 80 上使用 varnish 5.1 的多网站设置中,我不想缓存所有域。 这在 vcl_recv 中很容易完成。 if ( req.http.Host == "cache.this.domai
基本上,缓存破坏文件上的哈希不会更新。 class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage): pa
eclipse dart插件在“变量” View 中显示如下内容: 在“值”列中可见的“id”是什么意思? “id”是唯一的吗?在调试期间,如何确定两个实例是否相同?我是否需要在所有类中重写toStr
如何将Powershell中的命令行参数读入数组?就像是 myprogram -file file1 -file file2 -file file3 然后我有一个数组 [file1,file2,fil
我正尝试在 coldfusion 中为我们的安全支付网关创建哈希密码以接受交易。 很遗憾,支付网关拒绝接受我生成的哈希值。 表单发送交易的所有元素,并发送基于五个不同字段生成的哈希值。 在 PHP 中
例如,我有一个包含 5 个元素的哈希: my_hash = {a: 'qwe', b: 'zcx', c: 'dss', d: 'ccc', e: 'www' } 我的目标是每次循环哈希时都返回,但没
我在这里看到了令人作呕的类似问题,但没有一个能具体回答我自己的问题。 我正在尝试以编程方式创建哈希的哈希。我的问题代码如下: my %this_hash = (); if ($user_hash{$u
我正尝试在 coldfusion 中为我们的安全支付网关创建哈希密码以接受交易。 很遗憾,支付网关拒绝接受我生成的哈希值。 表单发送交易的所有元素,并发送基于五个不同字段生成的哈希值。 在 PHP 中
这个问题已经有答案了: Java - how to convert letters in a string to a number? (9 个回答) 已关闭 7 年前。 我需要一种简短的方法将字符串转
我是一名优秀的程序员,十分优秀!