Powershell: Encode/Decode Base64
Después de unos días de reciclaje (lejos de pantallas), volvemos a la carga…
Hoy os voy a explicar como encriptar o desencriptar un texto o comando en BASE64. Si eres desarrollador o trabajas con sistemas informáticos, en algún momento de tu vida te tocará hacerlo, para incluir en tu código el usuario y contraseña sin ponerlo en texto plano.
Os dejo los comandos de Powershell necesarios:
$TEXTO = 'negu\elblogdenegu'
$ENCODED1 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($TEXTO))
Write-Output $ENCODED1
Esto nos devuelve el «churro»:
bgBlAGcAdQBcAGUAbABiAGwAbwBnAGQAZQBuAGUAZwB1AA==
Haremos lo mismo para un usuario o una contraseña. Si queremos el proceso para desencriptar:
$TEXTO = 'bgBlAGcAdQBcAGUAbABiAGwAbwBnAGQAZQBuAGUAZwB1AA=='
$DECODED = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($TEXTO))
Write-Output $DECODED
Que nos devuelve:
negu\elblogdenegu
Ahora imaginaros que lo queréis codificar es un comando, lo haríamos de la siguiente forma:
$COMANDO = "dir c:\"
$ENCODED = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($COMANDO))
Write-Output $ENCODED
Lo usaríamos de la siguiente forma:
powershell -E ZABpAHIAIABjADoAXAA=
Y para desencriptar:
$COMANDO = "ZABpAHIAIABjADoAXAA="
$DECODED = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($COMANDO))
Write-Output $DECODED
Espero os parezca útil…
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
La entrada Powershell: Encode/Decode Base64 se publicó primero en Blog Virtualizacion.