AES 암호화 C#: 실제 가이드
]소개
데이터 보안 분야에서 고급 암호화 표준 (AES)은 효율적인 대칭 암호화 알고리즘으로 높이 평가됩니다. AES는 강력한 128 비트, 192 비트 또는 256 비트 키를 사용하여 민감한 정보가 무단 액세스로부터 보호되도록합니다.
샘플 구현
C# 응용 프로그램에서 AE의 힘을 활용하려면 다음 코드 예를 고려하십시오.
using System;
using System.IO;
using System.Security.Cryptography;
namespace Aes加密示例
{
class Program
{
static void Main()
{
try
{
// 原始数据
string original = "机密信息";
// 密钥和初始化向量 (IV)
byte[] key = { ... };
byte[] iv = { ... };
// 加密数据
byte[] encrypted = Encrypt(original, key, iv);
// 解密数据
string decrypted = Decrypt(encrypted, key, iv);
// 验证解密
if (original == decrypted)
Console.WriteLine("解密成功。");
else
Console.WriteLine("解密失败。");
}
catch (Exception ex)
{
Console.WriteLine($"错误:{ex.Message}");
}
}
// 加密方法
public static byte[] Encrypt(string plainText, byte[] key, byte[] iv)
{
using (AesManaged aes = new AesManaged())
{
aes.Key = key;
aes.IV = iv;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write))
{
using (StreamWriter sw = new StreamWriter(cs))
{
sw.Write(plainText);
}
return ms.ToArray();
}
}
}
}
// 解密方法
public static string Decrypt(byte[] cipherText, byte[] key, byte[] iv)
{
using (AesManaged aes = new AesManaged())
{
aes.Key = key;
aes.IV = iv;
using (MemoryStream ms = new MemoryStream(cipherText))
{
using (CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Read))
{
using (StreamReader sr = new StreamReader(cs))
{
return sr.ReadToEnd();
}
}
}
}
}
}
}
결론에서
이 코드 샘플은 C# 프로젝트에 AES 암호화를 통합하는 깨끗하고 실용적인 방법을 제공합니다. Rijndaelmanaged 인 Rijndaelmanaged의 내장 암호화 제공 업체를 통해 AES는 비교할 수없는 데이터 보호를 제공하여 민감한 정보가 스누핑으로부터 보호되도록합니다.
변경 사항은 다음과 같습니다.
이미지는 원래 형식과 위치로 남아 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3