答案 0 :(得分:4)
如果您在System.Security.Cryptography
命名空间中使用加密类,请使用Rfc2898DeriveBytes
类(@CodeInChaos指出它取代PasswordDeriveBytes
)从密码中派生密钥。
如果随机密钥没问题,则SymmetricAlgorithm
类使用GenerateKey
方法。
答案 1 :(得分:2)
这取决于你处理钥匙。
如果您自动生成密钥并使用密钥交换方法在某个通道上交换密钥,那么您应该使用RNGCryptoServiceProvider
等强大的随机数生成器生成密钥。实际上,.NET中的大多数密码都会自动生成一个随机密钥。
如果您想要某种用户输入密码,我建议您使用Rfc2898DeriveBytes
课程。关于Rfc2898DeriveBytes
的{{3}}还有一个教程。
答案 2 :(得分:1)