散列密码和加密密码有什么区别?

信息安全 加密 哈希
2021-08-30 22:16:15

好吧,所以我知道这听起来可能很愚蠢,但我很难理解加密是什么,因为它与哈希不同。我已经阅读了它,但我仍然不太确定。所以,我希望你们能帮助我。

2个回答

加密与散列

没有人真正“加密”密码,尽管您可以......但是您将使用另一个密码对其进行加密,并且您需要该密码来解密第一个密码。当涉及到密码时,我们通常对它们进行哈希处理。

  • 散列只是一种方式。您无法取回字符串,您只能检查字符串是否针对哈希进行验证。如果您的字符串针对哈希进行验证,这并不能保证它是相同的“密码”,但您可以使用它登录,因为您发现了一个冲突相对而言,“消息”/密码通常仅限于少数字符。

  • 加密双向的。例如,您有一个算法、一个密钥和一条消息。使用密钥,您可以解锁消息。通常,消息可以是任意大小。


临时流程图示例

我做了几个过于简化的流程图。希望能帮助到你。

散列

看到上面了吗?你会得到“消息”没有任何意义。为什么?您已经在输入密码,即“消息”本身。

现在看看这个:

加密

使用加密,如果解密密钥正确,您将获得解密的消息。您使用密钥来解锁加密的内容。

使用 hashing ,如果它验证发生冲突,您已经拥有“消息” 。您输入的是消息。

散列是一个不可逆的过程:一个函数,“散列”,不能“反转”。一旦你有了哈希值,你只能通过暴力破解来猜测原始密码,这涉及对各种可能的密码进行哈希处理,直到最终得到相同的哈希值,这表明你猜测的密码与原始密码相同.

加密是一个可逆过程:两个函数, 'encryption' <-> 'decryption'如果您有密钥,则可以解密加密的内容;解密无需猜测即可恢复原始密码。

散列密码的安全性很大程度上取决于执行散列函数所需的计算量。需要的计算越多,花费的时间就越长;由于蛮力攻击必须针对数千或数百万个可能的密码重复该计算,因此每个单独的哈希计算花费的时间越长,攻击就越不实用。

加密密码的安全性取决于算法的健全性和密钥的机密性。

散列的好处是不需要密钥,这提高了系统的整体安全性——减少了一个不被攻击者控制的秘密部分。