/
aprogrammer
/
dotnet-docs
Обзор
Документация
Войти
/
aprogrammer
/
dotnet-docs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
docs/standard/security/snippets/decrypting-data/csharp/aes-decrypt.cs
47 строк
2 KB
David Pine
Add sln files, and comments to code for encoding overloads, and upgrade to .NET 7 (#32564)
17 ноя 2022, 23:59
Не верифицирован
17 ноя 2022, 23:59
82c35f5
Код
Авторство
О чём код?
using System.Security.Cryptography; try { using (FileStream fileStream = new("TestData.txt", FileMode.Open)) { using (Aes aes = Aes.Create()) { byte[] iv = new byte[aes.IV.Length]; int numBytesToRead = aes.IV.Length; int numBytesRead = 0; while (numBytesToRead > 0) { int n = fileStream.Read(iv, numBytesRead, numBytesToRead); if (n == 0) break; numBytesRead += n; numBytesToRead -= n; } byte[] key = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 }; using (CryptoStream cryptoStream = new( fileStream, aes.CreateDecryptor(key, iv), CryptoStreamMode.Read)) { // By default, the StreamReader uses UTF-8 encoding. // To change the text encoding, pass the desired encoding as the second parameter. // For example, new StreamReader(cryptoStream, Encoding.Unicode). using (StreamReader decryptReader = new(cryptoStream)) { string decryptedMessage = await decryptReader.ReadToEndAsync(); Console.WriteLine($"The decrypted original message: {decryptedMessage}"); } } } } } catch (Exception ex) { Console.WriteLine($"The decryption failed. {ex}"); }