如何为AES

时间:2017-07-21 01:43:16

标签: c# .net encryption

在.NET Framework 4.6.2 Microsoft added support for persisted-key symmetric encryption中使用CNG密钥存储提供程序和AesCng算法。使用现有密钥的documentation for instantiating the AesCng class非常清楚 - 只需将密钥名称传递给构造函数即可。

但是如何生成用于AES加密的新持久密钥?我无法在发行说明或文档中找到说明。这甚至可能来自C#?

1 个答案:

答案 0 :(得分:3)

虽然记录不好,但事实证明这很容易。您只需使用CngKey.Create方法。困难在于AES加密没有CngAlgorithm属性。这看起来像是来自Microsoft .NET Framework团队的疏忽。但是,您可以按名称构建自己的CngAlgorithm:

    public static string CreateKey(string name)
    {
        CngKey.Create(new CngAlgorithm("AES"), name);
    }

另请参阅:Asymetric cryptography example in c#