为对称数据加密派生多用途密钥

时间:2012-07-17 20:07:56

标签: .net encryption cryptography key aes

我需要在.net中为AES对称加密生成256位密钥。我还没有找到关于如何“从头开始”这样做的任何描述。我的意思是,我不打算将此密钥用于用户密码。我只是想生成一个加密的安全密钥来使用。

据我所知,最好的选择就是使用.net类RNGCryptoServiceProvider

这是生成加密安全密钥的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

“最佳方法”取决于您的确切要求。

如果您需要的是32个随机字节,那么RNGCryptoServiceProvider就可以了。您必须做出安排以确保密钥在您的目的地可用,通常使用RSA或其他一些非对称加密方法。如果您需要它用于存档目的,那么您将需要一种安全存储它的方法。您还需要确保在不再需要它之后将其安全删除。

或者,您可以使用Key Derivation Function,并考虑适用于KDF参数的传输,存储和删除。