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 |
# Definimos la ruta del archivo original y el archivo cifrado $rutaArchivoOriginal = "C:\ruta\archivo_original.txt" $rutaArchivoCifrado = "C:\ruta\archivo_cifrado.aes" # 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) # Creamos un objeto de cifrado AES $aes = New-Object Security.Cryptography.AesCryptoServiceProvider $aes.Key = $contrasenaBytes $aes.IV = $vectorInicializacionBytes # Creamos un objeto FileStream para leer el archivo original $fsIn = New-Object System.IO.FileStream($rutaArchivoOriginal, [System.IO.FileMode]::Open) # Creamos un objeto FileStream para escribir el archivo cifrado $fsOut = New-Object System.IO.FileStream($rutaArchivoCifrado, [System.IO.FileMode]::Create) # Creamos un objeto CryptoStream para cifrar los datos $cs = $aes.CreateEncryptor() $csStream = New-Object System.Security.Cryptography.CryptoStream($fsOut, $cs, [System.Security.Cryptography.CryptoStreamMode]::Write) # Creamos un búfer para leer los datos del archivo original $buffer = New-Object Byte[] 4096 $leidos = $fsIn.Read($buffer, 0, 4096) # Leemos los datos del archivo original y los escribimos cifrados en el archivo de salida while ($leidos -gt 0) { $csStream.Write($buffer, 0, $leidos) $leidos = $fsIn.Read($buffer, 0, 4096) } # Cerramos los streams $csStream.Close() $fsOut.Close() $fsIn.Close() # Mostramos un mensaje de confirmación Write-Host "El archivo ha sido cifrado con éxito." |