随想 | 有关乱码 | About gibberish
随想 有关乱码
首先给出几种常见『乱码
1 | md5 378e3ce9f0c8243012cb32cedde1ad31 |
本文的重点不在于怎么判断常见乱码,但是还是简单介绍一下:
- 用
$$
分割的,可能是密码哈希函数的输出或者是JWT
- 后面可能有
=
,内容是字母和+/
或者-_
,可能是base64
系列。如果只有大、小写字母,可能是base32
。如果有+/
,是传统base64 or base32
。如果有-_
,是urlsafe 的base64 or base32
。 base64 解码后的内容如果不是utf-8 ,可能是哈希函数的输出。看长度(多少bit )hex 看长度。常见的md5 和sha 系列哈希的长度。
正视『乱码』
之前一直觉得『乱码』这个词被滥用了。
遇到一串自己看不懂的东西,就把他称为『乱码
直到某次给
『这个字符串在我来看是乱码,你知道是什么吗
确实,用『我看来是乱码』一词形容无疑更为准确。由于对密码哈希函数的不熟悉(也十分正常
为什么今天突然想到写这个东西呢?总有一些人,认为这串东西自己看不懂就没有意义。有一次和别人一起调试一个程序的时候,他描述我的程序『输出了乱码$2y$10$P5DEi...
的哈希值。
所以,当别人的程序输出了一些我们看不懂的东西的时候,不要只描述为『输出乱码