快速辨认常见编码与加密解密格式
2024-12-24 19:38:26191浏览
以 = 结尾的字符串:多半是 Base64 编码。 固定长度字符串:可能是哈希算法(MD5、SHA-1、SHA-256)。 包含特殊符号 % 或 &:可能是 URL 编码或 HTML 实体编码。 数字与空格组合:可能是二进制编码或摩斯密码。 纯大写字母与数字组合:可能是 Base32 或 Base58。

编码加密与解密常见格式及样式识别


1. Base64 编码

  • 加密样式示例SGVsbG8gd29ybGQ=
  • 解释
    Base64 是一种将二进制数据编码为文本的方式,常用于数据传输和存储。加密后字符串以 = 结尾可能是其标志。
  • 解码工具提示:可以直接用在线 Base64 解码工具识别和解码。

2. MD5 哈希

  • 加密样式示例5d41402abc4b2a76b9719d911017c592
  • 解释
    MD5 是不可逆的散列算法,输出固定为 32 位 16 进制字符串。常用于密码哈希或校验和计算。
  • 解码工具提示:无法直接解密,但可以使用哈希库对常见散列值进行反查。

3. SHA-1 哈希

  • 加密样式示例2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
  • 解释
    SHA-1 是更安全的哈希算法,输出固定为 40 位 16 进制字符串,比 MD5 更复杂,但仍然不可逆。

4. SHA-256 哈希

  • 加密样式示例9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
  • 解释
    SHA-256 输出固定为 64 位 16 进制字符串,比 SHA-1 更加安全,用于密码哈希和数字签名。

5. URL 编码

  • 加密样式示例%E4%BD%A0%E5%A5%BD
  • 解释
    URL 编码用于将特殊字符转化为 % 加上 ASCII 十六进制代码的形式,常见于网页地址栏中的参数编码。
  • 解码工具提示:浏览器或在线解码器可轻松解析。

6. HTML 实体编码

  • 加密样式示例<div>Hello</div>
  • 解释
    HTML 实体编码用于将特殊符号转义,防止 XSS 攻击或解析错误。比如 &lt; 表示 <&gt; 表示 >

7. 十六进制(Hex)编码

  • 加密样式示例48656C6C6F
  • 解释
    每个字符转化为 ASCII 码的十六进制表示形式,常用于低级数据表示和传输。
  • 解码工具提示:可手动或使用在线工具将十六进制转换为文本。

8. ROT13 编码

  • 加密样式示例Uryyb Jbeyq
  • 解释
    每个字母向后移动 13 位,是一种简单的字符替换编码方法。再次 ROT13 解码可恢复原文。

9. XOR 加密

  • 加密样式示例:不可预测的二进制或字符串输出
  • 解释
    通过将数据与密钥进行按位异或运算进行加密,适合简单加密算法,但易受密钥泄露攻击。
  • 工具提示:需要已知密钥才能解密。

10. 凯撒密码(Caesar Cipher)

  • 加密样式示例Khoor Zruog
  • 解释
    字母表中的每个字符按固定位置偏移,比如偏移 3 位,A → D。
  • 破解方法:暴力破解 25 种偏移即可解密。

11. 二进制编码

  • 加密样式示例01001000 01100101 01101100 01101100 01101111
  • 解释
    数据用二进制形式表示,每 8 位(1 字节)代表一个字符。
  • 解码工具提示:二进制转文本可直接解析。

12. 摩斯密码(Morse Code)

  • 加密样式示例.... . .-.. .-.. ---
  • 解释
    用短点(.)和长划(-)表示字母和数字,用空格分隔字符,用斜杠分隔单词。

13. Base32 编码

  • 加密样式示例JBSWY3DPEB3W64TMMQQQ====
  • 解释
    类似 Base64,但只使用 A-Z 和 2-7 的字符,通常以多个 = 结尾用于填充。

14. Base58 编码

  • 加密样式示例3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
  • 解释
    主要用于比特币地址编码,不包含容易混淆的字符,如 0、O、I、l。

15. JWT (JSON Web Token)

  • 加密样式示例eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0
  • 解释
    常见于 Web 身份验证,格式由三部分组成:Header、Payload 和 Signature,通过 . 分隔。

16. Unicode 编码

  • 格式示例\u666e\u901a\u7528
  • 解释
    Unicode 编码使用 \uXXXX 格式表示,其中 XXXX 是一个 16 进制值,表示字符的 Unicode 码点。常见于 JSON、JavaScript 等语言中。
  • 示例解释\u666e\u901a 解码后为 "普通"。
  • 解码方法:在 Python 中:
s = '\\u666e\\u901a\\u7528'
print(s.encode('utf-8').decode('unicode_escape'))

快速识别小技巧

  1. 以 = 结尾的字符串:多半是 Base64 编码。
  2. 固定长度字符串:可能是哈希算法(MD5、SHA-1、SHA-256)。
  3. 包含特殊符号 % 或 &:可能是 URL 编码或 HTML 实体编码。
  4. 数字与空格组合:可能是二进制编码或摩斯密码。
  5. 纯大写字母与数字组合:可能是 Base32 或 Base58。

友情链接: