网络安全 / A LEAF IN THE GARDEN
编码
网络安全 · crypto。来自 Daily Learning 的学习笔记。
概念
编码是将信息从一种形式转换为另一种形式的过程。
- 可逆
- 无秘钥
- 方便数据传输
分类
进制编码
二进制
每个字符用 8 位二进制表示
十六进制
字符用 2 位十六进制表示,即 2 个 4 位二进制
1100 0011
C0 03
ASCII
字符对应的十进制数值
Base 编码
Base16
将二进制数转化为十六进制并拼接
Base32
码表
A B C D E F G H
I J K L M N O P
Q R S T U V W X
Y Z 2 3 4 5 6 7
将数据二进制串每 5 位一组,每次取 8 组,从码表中查找对应的字符,若不足 8 组则补 =。
011000010110001001100011
01100 00101 10001 00110 0011
01100 00101 10001 00110 00110 00000 00000 00000
M F R G G = = =
Base64
码表
A B C D E F G H I J K L M N O P
Q R S T U V W X Y Z a b c d e f
g h i j k l m n o p q r s t u v
w x y z 0 1 2 3 4 5 6 7 8 9 + /
将数据二进制串每 6 位一组,每次取 4 组,从码表中查找对应的字符,若不足 4 组则补 =。
011000010110001001100011
011000 010110 001001 100011
011000 010110 001001 100011 000000 000000
Y W J j = =
Base85
将 4 个字节的二进制组成 32 位整型,转换为 85 进制,每一位加 32 转为 ASCII 字符。
01110011011101010111001001100101
1937076837 32位整型
37 09 17 44 22 85进制
69 41 49 54 54 +32
F * 2 M 7 ASCII
URL 编码
URL 中,除了数字、字母、特定符号(/,:@等)之外的字符,在 ASCII 码的十六进制前加 % 进行编码。
<space> 字符
32 ASCII码
0x20 十六进制
%20 URL编码
识别
| 特征 | 编码 |
|---|---|
0 和 1,8 位一组 | Binary |
0-9 a-f,成对 | Hex |
字母、数字、+/,结尾 = | Base64 |
大写字母、2-7 | Base32 |
% + 两位十六进制 | URL 编码 |
| 一堆数字(32~126) | ASCII 十进制 |
| 各种特殊符号混杂 | Base85/91 等 |
工具
- CyberChef
- Ciphey