Diniz Martins

Sep 8, 20201 min

PowerShell | Encoding & Decoding (Base64)

PowerShell provides an easy method for Base64 encoding and decoding.

Encoding:

$pass="STENGE.info"
 
$encodePass=[System.Text.Encoding]::Unicode.GetBytes($pass)
 
$encodeStr=[Convert]::ToBase64String($encodePass)
 
$encodeStr

The result is this base64 encoded text:

UwBUAEUATgBHAEUALgBpAG4AZgBvAA==

Decoding:

$encodeStr="UwBUAEUATgBHAEUALgBpAG4AZgBvAA=="
 
$bytesData=[System.Convert]::FromBase64String($encodeStr)
 
$decodeValue=[System.Text.Encoding]::Unicode.GetString($bytesData)
 
$decodeValue

The result:

STENGE.info

And if you want to convert a file, it should look something like :

$fileName = "C:\usr\key.txt"
 
$fileContent = get-content $fileName
 
$fileContentBytes = [System.Text.Encoding]::Unicode.GetBytes($fileContent)
 
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
 
$fileContentEncoded | set-content ($fileName + ".b64")

    780
    6