编码

Base64 Encode

To encode any text into base64 in Linux, we can echo it and pipe it with ‘|‘ to base64:

Base64 Encode

Tanin@htb[/htb]$ echo https://www.hackthebox.eu/ | base64

aHR0cHM6Ly93d3cuaGFja3RoZWJveC5ldS8K

####Base64 Decode

If we want to decode any base64 encoded string, we can use base64 -d, as follows:

Base64 Decode

Tanin@htb[/htb]$ echo aHR0cHM6Ly93d3cuaGFja3RoZWJveC5ldS8K | base64 -d

https://www.hackthebox.eu/

Hex Encode

To encode any string into hex in Linux, we can use the xxd -p command:

Hex Encode

Tanin@htb[/htb]$ echo https://www.hackthebox.eu/ | xxd -p

68747470733a2f2f7777772e6861636b746865626f782e65752f0a

Hex Decode

To decode a hex encoded string, we can use the xxd -p -r command:

Hex Decode

Tanin@htb[/htb]$ echo 68747470733a2f2f7777772e6861636b746865626f782e65752f0a | xxd -p -r

https://www.hackthebox.eu/

在命令行中,xxd -p -r 是一个常见的命令,用于进行十六进制转换和恢复。

  • p 代表 “plain”,表示以纯文本(plain text)形式进行转换。在这种情况下,xxd 命令将会以十六进制表示的字节流转换为对应的纯文本数据。
  • r 代表 “reverse”,表示进行逆向操作,即从十六进制数据恢复为原始的二进制数据。

因此,xxd -p -r 的完整含义是将以十六进制表示的字节流转换为对应的纯文本数据,或将十六进制数据恢复为原始的二进制数据。

xxd 是一个实用工具,用于在命令行中进行十六进制转换和操作。它的全称是 “hexdump”,表示以十六进制形式进行转储(hexadecimal dump)。它可以用于查看、创建和修改二进制文件的十六进制表示形式。

Rot13 Encode

There isn’t a specific command in Linux to do rot13 encoding. However, it is fairly easy to create our own command to do the character shifting:

Rot13 Encode

Tanin@htb[/htb]$ echo https://www.hackthebox.eu/ | tr 'A-Za-z' 'N-ZA-Mn-za-m'

uggcf://jjj.unpxgurobk.rh/

Rot13 Decode

We can use the same previous command to decode rot13 as well:

Rot13 Decode

Tanin@htb[/htb]$ echo uggcf://jjj.unpxgurobk.rh/ | tr 'A-Za-z' 'N-ZA-Mn-za-m'

https://www.hackthebox.eu/
  • echo https://www.hackthebox.eu/:输出字符串 “https://www.hackthebox.eu/
  • tr 'A-Za-z' 'N-ZA-Mn-za-m':使用 tr 命令进行字符替换。该命令将字母进行凯撒密码的置换,将字母 A-Z 和 a-z 分别替换为 N-ZA-M 和 n-za-m。