Demo aes crypto
Demo AES Crypto (PowerShell)
Schlüssel und Initialisierungsvektor erzeugen
$key = New-Object byte[] 32 [Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($key)
$iv = New-Object byte[] 16 [Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($iv)
Klartext definieren
$plaintext = "Dies ist eine AES-Testnachricht."
AES-Objekt erzeugen und konfigurieren
$aes = [System.Security.Cryptography.Aes]::Create() $aes.Key = $key $aes.IV = $iv $aes.Mode = "CBC" $aes.Padding = "PKCS7"
Verschlüsseln
$encryptor = $aes.CreateEncryptor() $bytes = [System.Text.Encoding]::UTF8.GetBytes($plaintext) $cipher = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length)
Verschlüsseltes Ergebnis in Base64 ausgeben
$cipher_b64 = [Convert]::ToBase64String($cipher) $cipher_b64
AES zur Entschlüsselung neu erstellen
$aes2 = [System.Security.Cryptography.Aes]::Create() $aes2.Key = $key $aes2.IV = $iv $aes2.Mode = "CBC" $aes2.Padding = "PKCS7"
Entschlüsseln
$decryptor = $aes2.CreateDecryptor() $cipher_bytes = [Convert]::FromBase64String($cipher_b64)
$plain_bytes = $decryptor.TransformFinalBlock($cipher_bytes, 0, $cipher_bytes.Length) $plain = [System.Text.Encoding]::UTF8.GetString($plain_bytes) $plain