运行使用RNGCryptoServiceProvider
到Rfc2898DeriveBytes.GetBytes()
生成的加密密钥(2048位)或更Rfc2898DeriveBytes
更适合从密码等短密钥生成加密密钥是否有意义?< / p>
答案 0 :(得分:4)
Rfc2898DeriveBytes.GetBytes()
主要用于通过加密削片机大小获取正确大小的密钥。如果您确定您的密钥是安全的,则不需要(当然,如果密钥大小匹配)。如果它是用户输入(即密钥),则绝对使用Rfc2898DeriveBytes
类来派生正确的密钥(或使用盐进行散列)。
答案 1 :(得分:3)
如果您已经拥有适合某个键的内容,那么您为何会使用它来生成另一个键?就个人而言,由于您已经拥有加密安全随机数,因此我认为通过派生字节没有任何好处。