我的问题是这样的:
将盐存储为明文是否会破坏使用盐的目的(我听说这样做很好)?我的印象是盐是一个额外的变量,为蛮力或字典攻击提供了额外的复杂性,除非提供正确的盐,否则任何将正确密码转换为密钥的尝试都会失败。在我看来,如果盐是已知的,攻击者可以使用正确的盐尝试每个密码。如果不是,为什么?
提前感谢您花时间回答我的问题。
我的问题是这样的:
将盐存储为明文是否会破坏使用盐的目的(我听说这样做很好)?我的印象是盐是一个额外的变量,为蛮力或字典攻击提供了额外的复杂性,除非提供正确的盐,否则任何将正确密码转换为密钥的尝试都会失败。在我看来,如果盐是已知的,攻击者可以使用正确的盐尝试每个密码。如果不是,为什么?
提前感谢您花时间回答我的问题。
加盐的目的是防止攻击者重复使用他的字典来处理多个密文。
暴露盐并没有错。
相反,您应该确保您的盐永远不会被不同的密文重复使用。
为此,您应该使用安全的随机数生成器创建盐。
将盐存储为明文是否会破坏使用盐的目的(我听说这样做很好)?
你为什么用盐? 为了安全地存储密码,您可以对它们进行哈希处理。并且您存储了这些哈希的列表。当您知道哈希时,很难找到原始密码。
假设您是一名攻击者,他检索了散列密码列表。你可以采取一些geusses。您可以尝试将某些周密码散列为:“password”、“qwerty”……然后在散列密码列表中搜索匹配项。您可以正确猜出单个密码的机会非常高。
盐是一种防止你这样做的技术。当你想猜测时。例如:采取“qwerty”。你应该散列“qwerty”+盐。这对于每个用户来说都是不同的。是什么让猜测密码变得更加困难。
简而言之:将盐存储为纯文本是非常安全的。