我需要将密码保存到数据库中。我在加密时会感到困惑,使用sha-256,盐生成方法。如果任何人解释了此背后的基本概念

有帮助吗?

解决方案

无论如何,以下是一个非常基本的解释...

  • 加密是一个可逆的数据的可逆方法。因此,如果“密码”加密方法将其转换为(例如)“ ufmehlejw”,则可以再次获得“密码”。
  • 哈希函数(其中之一是SHA-256)是一个函数,一旦在字符串上使用它,您就无法恢复原始字符串。
  • 盐是一根绳子,通常使用Prorammer(当然)用来混合给定密码。通常是随机生成的。在使用哈希功能之前,使用盐来扩展原始数据。盐的目的是避免攻击者使用被盗的哈希发现用户的原始密码 彩虹桌.

其他提示

简而言之:

加密是一个具有反向的过程。换句话说:如果我加密文本,则有一个能够将新文本转换回原始文本的过程,称为 解密.

哈希与加密根本不同,因为它确实 不是 有这样的过程。哈希的意图是为您提供结果,这对于给定的输入文本是独一无二的(嗯,几乎唯一的,让我们保持独特之处)。这样,人们就可以验证两个输入文本是否相等,而不知道实际输入文本是什么。因此,如果人们接触您的哈希密码,他们仍然无法解密。 SHA是一个提供哈希的方法家族。

盐和辣椒只是哈希的附加技术,它描述了在哈希之前添加输入文本之前和之后的东西的过程。这改善了蛮力爆裂的难度,将哈希裂开回到文本。

蛮力破裂意味着简单地尝试所有可能的输入(AA,AB,AC等),看看您是否可以生成与您通过黑客入侵某些网站或其他任何内容相匹配的哈希。您可以在这里找到更多信息: https://security.stackexchange.com/questions/3272/password-hashing-add-salt-salt-pepper-or-is-salt-enough

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top