Я пытаюсь сохранить ключ AES256 в виде обычного текста в файле. Когда я прямо напишу байты и откройте файл в блокноте, я вижу кучу мусора. Я пытался UTF кодировать байты, но, возможно, я делаю что-то неправильно.C# AES Ключевой файл
Вот код:
public static bool GenerateAes256KeyFile()
{
SymmetricAlgorithm aesAlg = new AesCryptoServiceProvider();
aesAlg.GenerateKey();
//System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
//string key = encoder.GetString(aesAlg.Key);
//File.WriteAllText(keyFile, aesAlg.Key);
File.WriteAllBytes(keyFile, aesAlg.Key);
return true;
}
Я попытался кодировка в комментариях, а также, и получить разных вид мусора текста.
Возможно, я просто пропустил что-то простое, так как я новичок в C#. Любая помощь очень ценится.
Thanks
Ключ представляет собой серию случайных байтов, которые будут выглядеть как мусор, если они помещаются в файл как есть. Попытка декодировать кучу случайных байтов как UTF-8 также не имеет смысла и, скорее всего, приведет к ошибке. * Какой тип * обычного текста вы хотите преобразовать? –
ключ ** IS ** случайный мусор. преобразование его в utf-8 будет случайным образом искажать ключ, потому что некоторые из этих случайных байтов могут отображаться на фактические символы utf8. вы не хотите utf, вы хотите что-то вроде base64 –
Вы можете использовать 'Convert.ToBase64String' (для чтения:' Convert.FromBase64String') – Eser