在C#中为Windows应用商店应用生成AES密钥

时间:2014-10-13 23:25:57

标签: c# encryption windows-phone-8.1

我需要在Windows应用程序的c#中生成一个256位密钥用于AES加密。使用了以下代码并获得了一个execption。请指出我在哪里做错了。

public string GenAESkey()
        {

            UInt32 keySize = 32;
            CryptographicKey key;
            SymmetricKeyAlgorithmProvider Algorithm = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcb);
            IBuffer keymaterial = CryptographicBuffer.GenerateRandom((keySize + 7) / 8);
            try
            {
                key = Algorithm.CreateSymmetricKey(keymaterial);
                return key.ToString();
            }

            catch
            {
                return null;
            }

错误是“值不在预期范围内”。 @ Algorithm.CreateSymmetricKey(keymaterial);命令。

1 个答案:

答案 0 :(得分:1)

我的坏。问题在于此。

UInt32 keySize = 32;

将其更改为

UInt32 keySize = 256;

和evrything很好