0

我在这里阅读了很多关于 Rfc2898DeriveBytes() 的帖子,似乎在所有这些帖子中,盐都是预先计算好的并传递给构造函数。但是,有一个构造函数接受盐长度输入,并且会为您计算盐。之后可以在 Salt 属性中使用它。

让该方法计算盐有什么缺点吗?就我而言,用途是用于密码散列。

4

1 回答 1

1

指定盐长度而不是盐本身可以减少在派生新密钥(或隐藏存储密码)时不安全地选择盐的机会。盐应该由加密随机位生成器选择,并且应该在每次更新密码时更改。据推测,此构造函数将使用正确播种的高质量 RNG。将其留在应用程序中最坏的情况是会出现错误,并且充其量会造成不必要的复杂性。

当然,如果您要恢复密钥,例如检查用户输入与存储的密码,您需要指定最初使用的盐。

于 2014-02-26T20:25:22.803 回答