Cómo realizar Codificación y Decodificación Base64 en PowerShell

Cómo realizar Codificación y Decodificación Base64 en PowerShell

PowerShell es una herramienta de automatización y administración de tareas creada por Microsoft para sistemas operativos Windows. Una de las tareas comunes en programación es la codificación y decodificación de información para su transmisión segura. Base64 es un método de codificación que convierte datos binarios en un formato de texto ASCII, lo que permite la transmisión segura de datos en línea. En PowerShell, podemos fácilmente encodear y decodear información en Base64 con los siguientes comandos.

📋 Aquí podrás encontrar✍
  1. Codificación Base64 en PowerShell
  2. Decodificación Base64 en PowerShell
  3. Ejemplos de Código en PowerShell
    1. Ejemplo 1: Codificar un archivo de texto plano
    2. Ejemplo 2: Decodificar un archivo de texto plano
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Por qué usar la codificación Base64 en lugar de otra técnica de codificación?
    2. ¿Qué otros lenguajes de programación permiten la codificación y decodificación Base64?
    3. ¿Cómo se puede verificar si una cadena está codificada en Base64?

Codificación Base64 en PowerShell

Para realizar la codificación Base64 en PowerShell utilizamos el comando "EncodeToBase64String". Este comando convierte los datos binarios en una cadena Base64. A continuación se muestra un ejemplo de cómo usarlo:


$binaryData = [System.Text.Encoding]::UTF8.GetBytes("Hola, Mundo!")
$base64Encoded = [System.Convert]::ToBase64String($binaryData)
Write-Host $base64Encoded

En este ejemplo, estamos convirtiendo la cadena "Hola, Mundo!" en datos binarios en formato UTF-8 y almacenándolos en la variable $binaryData. Luego, utilizamos el comando "ToBase64String" para convertir los datos binarios en una cadena Base64 y almacenamos esa cadena en la variable $base64Encoded. Finalmente, imprimimos la cadena Base64 con el comando "Write-Host".

Decodificación Base64 en PowerShell

Para realizar la decodificación Base64 en PowerShell utilizamos el comando "FromBase64String". Este comando convierte una cadena Base64 en datos binarios. A continuación se muestra un ejemplo de cómo usarlo:


$base64Encoded = "SG9sYSwgTXVuZG8h"
$binaryData = [System.Convert]::FromBase64String($base64Encoded)
$decodedString = [System.Text.Encoding]::UTF8.GetString($binaryData)
Write-Host $decodedString

En este ejemplo, tenemos la cadena Base64 "SG9sYSwgTXVuZG8h" y la almacenamos en la variable $base64Encoded. Luego, utilizamos el comando "FromBase64String" para convertir la cadena Base64 en datos binarios y almacenamos esos datos binarios en la variable $binaryData. Finalmente, utilizamos el comando "GetString" para convertir los datos binarios en una cadena de texto UTF-8 y almacenamos esa cadena en la variable $decodedString. Imprimimos la cadena decodificada utilizando el comando "Write-Host".

Ejemplos de Código en PowerShell

A continuación, presentamos algunos ejemplos de cómo se puede utilizar la codificación y decodificación Base64 en PowerShell para operaciones de archivo:

Ejemplo 1: Codificar un archivo de texto plano


$fileContent = Get-Content -Path "C:UsersUsuarioprueba.txt"
$binaryData = [System.Text.Encoding]::UTF8.GetBytes($fileContent)
$base64Encoded = [System.Convert]::ToBase64String($binaryData)
Write-Output $base64Encoded

En este ejemplo, estamos leyendo el contenido de un archivo de texto plano usando el comando "Get-Content", y almacenando ese contenido en la variable $fileContent. Luego, convertimos el contenido en datos binarios con el comando "[System.Text.Encoding]::UTF8.GetBytes($fileContent)" y almacenamos esos datos binarios en la variable $binaryData. Posteriormente, utilizamos el comando "ToBase64String" para convertir los datos binarios en una cadena Base64 y almacenamos esa cadena en la variable $base64Encoded. Finalmente, imprimimos la cadena Base64 con el comando "Write-Output".

Ejemplo 2: Decodificar un archivo de texto plano


$base64Encoded = Get-Content -Path "C:UsersUsuarioprueba.txt"
$binaryData = [System.Convert]::FromBase64String($base64Encoded)
$decodedString = [System.Text.Encoding]::UTF8.GetString($binaryData)
Write-Output $decodedString

En este ejemplo, estamos leyendo el contenido de un archivo de texto plano codificado en Base64 y almacenando esa cadena Base64 en la variable $base64Encoded. Luego, utilizamos el comando "FromBase64String" para convertir la cadena Base64 en datos binarios y almacenamos esos datos binarios en la variable $binaryData. Finalmente, utilizamos el comando "GetString" para convertir los datos binarios en una cadena de texto UTF-8 decodificada y almacenamos esa cadena en la variable $decodedString. Imprimimos la cadena decodificada utilizando el comando "Write-Output".

Conclusión

La codificación y decodificación Base64 es una técnica ampliamente utilizada en programación para la transmisión segura de datos en línea. En PowerShell, es fácil realizar estas operaciones con los comandos "EncodeToBase64String" y "FromBase64String". Esperamos que este artículo haya sido útil para aprender a trabajar con codificación y decodificación Base64 en PowerShell.

Preguntas frecuentes

¿Por qué usar la codificación Base64 en lugar de otra técnica de codificación?

La codificación Base64 es comúnmente utilizada porque es fácilmente convertible en texto ASCII y no requiere una gran cantidad de recursos computacionales para convertir los datos en este formato. Además, la codificación Base64 es reconocida por muchos sistemas operativos y programas.

¿Qué otros lenguajes de programación permiten la codificación y decodificación Base64?

La codificación y decodificación Base64 está disponible en la mayoría de los lenguajes de programación, incluyendo Python, Java, Ruby, C# y muchos más.

¿Cómo se puede verificar si una cadena está codificada en Base64?

Para verificar si una cadena está codificada en Base64, podemos utilizar el siguiente comando:


try {
[System.Convert]::FromBase64String($base64EncodedString)
Write-Output "La cadena está codificada en Base64"
} catch {
Write-Output "La cadena no está codificada en Base64"
}

Este comando intentará convertir la cadena a datos binarios utilizando el comando "FromBase64String". Si la cadena no está codificada en Base64, se producirá un error y el bloque 'catch' se ejecutará. Si la cadena está codificada en Base64, se ejecutará el bloque 'try' y se imprimirá que la cadena está codificada en Base64.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza Cookies propias y de terceros de análisis para recopilar información con la finalidad de mejorar nuestros servicios, así como para el análisis de su navegación. Si continua navegando, se acepta el uso y si no lo desea puede configurar el navegador. CÓMO CONFIGURAR