Verschlüsseln:
Code: Select all
static byte[] Encrypt(byte[] plaintext, byte[] Key, byte[] IV)
{
byte[] encrypted_data = null;
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(plaintext);
}
}
encrypted_data = msEncrypt.ToArray();
}
}
return encrypted_data;
}
Code: Select all
static string Decrypt(byte[] encrypted_text, byte[] Key, byte[] IV)
{
string decrypted_data = null;
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msDecrypt = new MemoryStream(encrypted_text))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
decrypted_data = srDecrypt.ReadToEnd();
return decrypted_data;
}
}
}
}
}
Code: Select all
static void Main(string[] args)
{
byte[] Key = GenerateRandomKey(32);
byte[] IV = GenerateRandomIV(16);
byte[] data_to_encrypt = Encoding.UTF8.GetBytes("Hola como estas");
byte[] encrypted_data = Encrypt(data_to_encrypt, Key, IV);
File.WriteAllBytes("encrypted.enc", encrypted_data);
byte[] data_to_decrypt = File.ReadAllBytes("encrypted.enc");
string decrypted_data = Decrypt(data_to_decrypt, Key, IV);
Console.WriteLine(decrypted_data);
}
Warum passiert das? anstatt die entschlüsselte Datenzeichenfolge anzuzeigen?
Mobile version