This allows you to encode, decode or hash text.
The dialog has one field that is common to all of the tabs:
This field is for the text that you want to be encoded, decoded or hashed.
If any text is selected when the dialog is invoked then it will be put in this field. The other fields will be updated dynamically if you change the text
In its default state the Encode/Decode/Hash dialog displays tabs and output panels with the following setup:
Will display with an illegal UTF-8 character sequence with 2 bytes.
Will display illegal UTF-8 character sequence with 3 bytes.
Will display an illegal UTF-8 character sequence with 4 bytes.
Will display the ASCII hex encoding of the text you enter.
Will display the base 64 encoding of the text you enter.
Will display the base 64 URL encoding of the text you enter. Base64URL is a modification to the primary base 64 standard the purpose of which is the ability to use the encoding result as filename or URL address. Base64URL is described in RFC 4648, which notes that the standard base 64 alphabet includes characters that are invalid for URLs and file names (for example: plus sign and question mark are problematic). The main standard will encode <<???>>
to PDw/Pz8+Pg==
while Base64URL will convert it to PDw_Pz8-Pg
.
Will display escaped Unicode characters. For example, the text Açores
would be encoded as %u0041%u00e7%u006f%u0072%u0065%u0073
.
Will display the HTML encoding of the text you enter. For example, the text "piñata"
would be encoded as "piñata"
.
Will display the full HTML encoding of the text you enter. For example, the text <script>
would be encoded as <script>
Will display escaped JavaScript literals of the text you enter. For example, the text "2¢"
would be encoded as \"2\uFFE0\"
.
Will display the URL encoding of the text you enter.
Will display the full URL encoding of the text you enter (all characters converted to HEX and percent prepended).
Will display the unescaped Unicode characters. For example, the text %u0041%u00e7%u006f%u0072%u0065%u0073
would be decoded as Açores
.
Will display the ASCII hex decoding of the text you enter.
If there is no valid decoding then the field will be disabled.
Will display the base 64 decoding of the text you enter.
Leveraging a Mime decoder to handle wrapped lines.
Will display the base 64 URL decoding of the text you enter. Base64URL is a modification to the primary base 64 standard the purpose of which is the ability to use the encoding result as filename or URL address. Base64URL is described in RFC 4648, which notes that the standard base 64 alphabet includes characters that are invalid for URLs and file names (for example: plus sign and question mark are problematic).
Will display the HTML decoding of the text you enter. For example, the text "piñata"
would be decoded as "piñata"
.
Will display the unescaped JavaScript literals of the text you enter. For example, the text \"2\uFFE0\"
would be decoded as "2¢"
.
Will display the URL decoding of the text you enter.
Will display the URL decoding of the text you enter (percent signs removed and HEX decoded).
Will display the MD5 hash of the text you enter.
Will display the SHA1 hash of the text you enter.
Will display the SHA256 hash of the text you enter.
The following processors can also be added to any tab.
Custom “Encode/Decode” scripts can be created/added to the Scripts Tree and used by custom Output Panels. They should return EncodeDecodeResult
objects as indicated by the templates. However, in the event that users aren’t careful in doing so will return other data types leveraging their toString()
implementation (which may or may not be useful/obvious at first glance).
Converts the input to all lower case characters.
Removes all whitespace characters from the text, based on Character.isWhiteSpace(char).
Reverses the order of the input.
Converts the input to all upper case characters.
Converted to UTF-16LE and base64 encoded. Equivalent to one of the following examples (encoding “dir”):
printf "dir"| iconv -t UTF-16LE | base64 -w 0 -
$command = 'dir'
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
echo $encodedCommand
Resulting in: ZABpAHIA
.
Which can be leveraged via something like the following (where $encodedCommand
is set to the encoded value ZABpAHIA
):
powershell -exec bypass -enc $encodedCommand
Tools menu ‘Encode/Decode/Hash…’ item | |
Many text areas such as the Output tab, Scripts console, Request and Response panels via ‘Encode/Decode/Hash…’ right click menu item |