1
Мне нужно генерировать 256-битный ключ для шифрования AES в C# для приложения Windows Store. Извлечен следующий код и получает исполнение. Пожалуйста, укажите мне, где я делаю неправильно.Сгенерировать ключ AES в C# для приложения для магазина Windows
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);
.
Угадайте что? Ключ AES-256 - 256 бит. Это 32 байта, а не 32 бита. Кроме того, я был бы удивлен, если key.ToString() сделает что-нибудь полезное. –
@GregS: Спасибо. Это разрешило It .. Мне нужно преобразовать его в строку, потому что Iam передает его некоторым функциям, которые уже написаны с помощью строкового аргумента. –