我需要将密码保存到数据库。我对加密感到困惑,使用sha-256哈希,盐生成方法。如果任何人解释了这背后的基本概念那么它将会有所帮助
答案 0 :(得分:2)
无论如何,以下是一个非常基本的解释......
答案 1 :(得分:1)
简而言之:
加密是一个反向过程。换句话说:如果我对某些文本进行加密,则会有一个进程能够将新文本转换回原始文本,称为 decryption 。
哈希与加密根本不同,因为不有这样的过程。哈希的意思是为您提供一个结果,这对于给定的输入文本是唯一的(好吧,几乎是唯一的,让它保持唯一)。这样,人们可以验证两个输入文本是否相等,而不知道实际输入文本是什么。因此,如果人们掌握了您的哈希密码,他们仍然无法解密。 SHA是一系列提供散列的方法。
Salts and Peppers仅仅是散列的其他技术,它描述了在散列之前在输入文本之前和之后添加内容的过程。这改善了哈希暴力破解文本的难度。
暴力破解意味着只需尝试所有可能的输入(aa,ab,ac等等),看看你是否可以生成一个哈希值,该哈希值与你通过黑客攻击某个网站或其他任何东西得到的哈希相匹配。您可以在此处找到更多相关信息:https://security.stackexchange.com/questions/3272/password-hashing-add-salt-pepper-or-is-salt-enough