参考文章:30余种加密编码类型的密文特征分析(建议收藏)-腾讯云开发者社区-腾讯云
[TOC]
1、MD5、sha1、HMAC算法、NTLM等相似加密类型:
(1)MD5 (例:21232F297A57A5A743894A0E4A801FC3)32位
由数字“0-9”和字母“a-f”所组成的字符串、。如果出现这个范围以外的字符说明这可能是个错误的md5值,没必要再拿去解密。
(2)sha1(例:d033e22ae348aeb5660fc2140aec35850c4da997)40位
(3)相似加密类型长度:
# | 算法 | 长度 |
---|---|---|
1 | md5 | 32/16 |
2 | sha1 | 40 |
3 | sha256 | 64 |
4 | sha512 | 128 |
5 | adler32 | 8 |
6 | crc32 | 8 |
7 | crc32b | 8 |
8 | fnv132 | 8 |
9 | fnv164 | 16 |
10 | fnv1a32 | 8 |
11 | fnv1a64 | 16 |
12 | gost | 64 |
13 | gost-crypto | 64 |
14 | haval128,3 | 32 |
15 | haval128,4 | 32 |
16 | haval128,5 | 32 |
17 | haval160,3 | 40 |
18 | haval160,4 | 40 |
19 | haval160,5 | 40 |
20 | haval192,3 | 48 |
21 | haval192,4 | 48 |
22 | haval192,5 | 48 |
23 | haval224,3 | 56 |
24 | haval224,4 | 56 |
25 | haval224,5 | 56 |
26 | haval256,3 | 64 |
27 | haval256,4 | 64 |
28 | haval256,5 | 64 |
29 | joaat | 8 |
30 | md2 | 32 |
31 | md4 | 32 |
32 | ripemd128 | 32 |
33 | ripemd160 | 40 |
34 | ripemd256 | 64 |
35 | ripemd320 | 80 |
36 | sha224 | 56 |
37 | sha3-224 | 56 |
38 | sha3-256 | 64 |
39 | sha3-384 | 96 |
40 | sha3-512 | 128 |
41 | sha384 | 96 |
42 | sha512/224 | 56 |
43 | sha512/256 | 64 |
44 | snefru | 64 |
45 | snefru256 | 64 |
46 | tiger128,3 | 32 |
47 | tiger128,4 | 32 |
48 | tiger160,3 | 40 |
49 | tiger160,4 | 40 |
50 | tiger192,3 | 48 |
51 | tiger192,4 | 48 |
52 | whirlpool | 128 |
53 | mysql | 老MYSQL数据库用的,16位,且第1位和第7位必须为0-8 |
54 | mysql5 | 40 |
55 | NTLM | 32 |
56 | Domain Cached Credentials | 32 |
常用解密网站:
- www.cmd5.com(带批量解密工具)
- www.somd5.com
- cmd5.la
- pmd5.com
- www.ttmd5.com(带批量解密工具)
2、Base64、Base58、Base32、Base16、Base85、Base100等相似加密类型
(1)Base64(例:YWRtaW4tcm9vdA==) 一般情况下密文尾部都会有两个等号,明文很少时没有。Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。
注:URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
(2)Base58(例:`6tmHCZvhgfNjQu)用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。
最后没有等号。
(3)Base32(例:GEZDGNBVGY3TQOJQGE======)特点是明文超过十个后面就会有很多等号。
(4)Base16(例:61646D696E)特点是没有等号并且数字要多于字母。
(5)Base85(例:X4hDWe0rkE(G[OdP4CT]N#)特点是奇怪的字符比较多,但是很难出现等号。
(6)Base100(例:👘👛👤👠👥
)特点是一堆Emoji表情。
常用解密网站:
Base64:
Base58:www.metools.info
Base32、16:www.qqxiuzi.cn
Base100:www.atoolbox.net
3、非对称加密算法:AES、DES、RC4、Rabbit、Triple DES(3DES)等。
引入了密钥,密文特征与Base64类似
4、URL、Hex编码
这两种加密的密文是一样的,不同的是当你用url编码网站时是不会把http进行编码的,而Hex编码则全部转化了
encodeURIComponent() 函数 与 encodeURI() 函数的区别 请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
常用解密网站:
Hex编码:https://www.107000.com/T-Hex
URL 编码:https://www.sojson.com/encodeurl.html
5、Escape编码/加密、Unescape解码/解密、%u编码、%u解码
特征:以%u开头,净是%u。 Escape编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u,Unescape解码/解密,就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”
常用解密网站:
http://web.chacuo.net/charsetescape/
6、Bcrypt加密:linux的shadow文件常用加密,特征是一般有多个$符分割
7、bitlocker密钥正则表达式
^[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}$
(#{6}-){7}#{6}