Tag: password

Rfc2898DeriveBytes(PBKDF2)实现中密钥大小的重要性

这是我使用.NET中提供的Rfc2898DeriveBytes类来“散列”(或导出 PKCS标准的PBKDF2实现中调用的密钥 )密码字符串的代码 : int saltSize = 256; int iterations = 1000; int keySize = 20; // The parameter I’m not sure of var deriveBytes = new Rfc2898DeriveBytes(“mypassword”, saltSize, iterations); byte[] salt = deriveBytes.Salt; byte[] key = deriveBytes.GetBytes(keySize); 现在,我知道盐的大小并不重要(只要它足以确保随机盐是独特的),但关键尺寸呢? 更长的密钥是否能提供更强的安全性来抵御攻 (笔记: 1.性能问题不在我这里导入,显然更长的盐或更长的密钥将花费更多的时间让GetBytes返回一个值。 2.我想使用这个“哈希”将它们存储在数据库中,而不是在加密方案中使用它们)