1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# Establecer la ruta del archivo de origen y el archivo cifrado de destino "hola amigos" > original.txt $SourceFile = "original.txt" $EncryptedFile = "cifrado.txt" $decry = "decr.txt" ########### CIFRAR # Definimos la contraseña y el vector de inicialización $contrasena = "0123456789abcdef" $vectorInicializacion = "0123456789abcdef" # Convertimos la contraseña y el vector de inicialización a bytes $contrasenaBytes = [System.Text.Encoding]::UTF8.GetBytes($contrasena) $vectorInicializacionBytes = [System.Text.Encoding]::UTF8.GetBytes($vectorInicializacion) # Leer el archivo de origen y cifrarlo utilizando AES $FileStream = New-Object IO.FileStream ($EncryptedFile, [IO.FileMode]::Create) # Creamos un objeto de cifrado AES $aes = New-Object Security.Cryptography.AesCryptoServiceProvider $aes.Key = $contrasenaBytes $aes.IV = $vectorInicializacionBytes $CryptoStream = New-Object Security.Cryptography.CryptoStream $FileStream, $Aes.CreateEncryptor(), ([Security.Cryptography.CryptoStreamMode]::Write) $StreamReader = New-Object IO.StreamReader $SourceFile $StreamWriter = New-Object IO.StreamWriter $CryptoStream $StreamWriter.Write($StreamReader.ReadToEnd()) $StreamWriter.Close() $StreamReader.Close() $CryptoStream.Close() $FileStream.Close() gc $EncryptedFile ########### DESCIFRAR # Leer el archivo cifrado y descifrarlo utilizando AES $FileStream = New-Object IO.FileStream ($EncryptedFile, [IO.FileMode]::Open) # Creamos un objeto de cifrado AES $aes = New-Object Security.Cryptography.AesCryptoServiceProvider $aes.Key = $contrasenaBytes $aes.IV = $vectorInicializacionBytes $CryptoStream = New-Object Security.Cryptography.CryptoStream $FileStream, $Aes.CreateDecryptor(), ([Security.Cryptography.CryptoStreamMode]::Read) $StreamReader = New-Object IO.StreamReader $CryptoStream $StreamWriter = New-Object IO.StreamWriter $decry $StreamWriter.Write($StreamReader.ReadToEnd()) $StreamWriter.Close() $StreamReader.Close() $CryptoStream.Close() $FileStream.Close() gc $decry |