30余种加密编码类型的密文特征分析建议收藏
MD5、sha1、HMAC算法、NTLM等相似加密类型
1、MD5——示例21232F297A57A5A743894A0E4A801FC3
一般MD5值是32位由数字“0-9”和字母“a-f”所组成的字符串,如图。如果出现这个范围以外的字符说明这可能是个错误的md5值,就没必要再拿去解密了。16位值是取的是8~24位。
md5的三个特征:
- 确定性:一个原始数据的MD5值是唯一的,同一个原始数据不可能会计算出多个不同的MD5值。
- 碰撞性:原始数据与其MD5值并不是一一对应的,有可能多个原始数据计算出来的MD5值是一样的,这就是碰撞。
- 不可逆:也就是说如果告诉你一个MD5值,你是无法通过它还原出它的原始数据的,这不是你的技术不够牛,这是由它的算法所决定的。因为根据第4点,一个给定的MD5值是可能对应多个原始数据的,并且理论上讲是可以对应无限多个原始数据,所有无法确定到底是由哪个原始数据产生的。
2、sha1——示例d033e22ae348aeb5660fc2140aec35850c4da997
这种加密的密文特征跟MD5差不多,只不过位数是40
3、HMAC算法——示例5b696ae7da9442ead7adc24d03cedb65
HMAC (Hash-based Message Authentication Code) 常用于接口签名验证,这种算法就是在前两种加密的基础上引入了秘钥,而秘钥又只有传输双方才知道,所以基本上是破解不了的
3、NTLM——示例209c6174da490caeb422f3fa5a7ae634
这种加密是Windows的哈希密码,是 Windows NT 早期版本的标准安全协议。与它相同的还有Domain Cached Credentials(域哈希)。
相似加密类型
# |
算法 |
长度 |
---|---|---|
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(带批量解密工具)
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个‘=’,如图。
为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
Base64编码表
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
码值 |
字符 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
A |
8 |
I |
16 |
Q |
24 |
Y |
32 |
g |
40 |
o |
48 |
w |
56 |
4 |
1 |
B |
9 |
J |
17 |
R |
25 |
Z |
33 |
h |
41 |
p |
49 |
x |
57 |
5 |
2 |
C |
10 |
K |
18 |
S |
26 |
a |
34 |
i |
42 |
q |
50 |
y |
58 |
6 |
3 |
D |
11 |
L |
19 |
T |
27 |
b |
35 |
j |
43 |
r |
51 |
z |
59 |
7 |
4 |
E |
12 |
M |
20 |
U |
28 |
c |
36 |
k |
44 |
s |
52 |
0 |
60 |
8 |
5 |
F |
13 |
N |
21 |
V |
29 |
d |
37 |
l |
45 |
t |
53 |
1 |
61 |
9 |
6 |
G |
14 |
O |
22 |
W |
30 |
e |
38 |
m |
46 |
u |
54 |
2 |
62 |
+ |
7 |
H |
15 |
P |
23 |
X |
31 |
f |
39 |
n |
47 |
v |
55 |
3 |
63 |
/ |
Base64使用注意问题
一、Base64和URL传参问题
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
为解决此问题,可采用一种用于URL的改进Base64编码,它在末尾填充’='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。
二、Base64和URL传参问题改善
另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。
此外还有一些变种,它们将“+/”改为“-”或“.”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。
三、Base64转换后比原有的字符串长1/3
Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。
四、Base64转换总结
Base64转换,最好是不要用在加密上,尤其是参数加密,很容易出问题。
2、Base58——示例6tmHCZvhgfNjQu
它最大的特点是没有等号
Base58是用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。
相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。
比特币的Base58字母表:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
简单的说:Base58一种编码方式,跟十进制,十六进制一样,不过更短更省空间。
Base58的原理是什么?
二进制:0和1
十进制:1到10
十六进制:十进制的基础上加上了A-F 六个字母
Base58可以理解为一种58进制。
Base58包含了阿拉伯数字、小写英文字母,大写英文字母。
但是去掉了一些容易混淆的数字和字母:0(数字0)、O(o的大写字母)、l( L的小写字母)、I(i的大写字母)
3、Base32——示例GEZDGNBVGY3TQOJQGE======
他的特点是明文超过十个后面就会有很多等号
Base32使用了ASCII编码中可打印的32个字符(大写字母AZ和数字27)对任意字节数据进行编码.Base32将串起来的二进制数据按照5个二进制位分为一组,由于传输数据的单位是字节(即8个二进制位).所以分割之前的二进制位数是40的倍数(40是5和8的最小公倍数).如果不足40位,则在编码后数据补充"=",一个"="相当于一个组(5个二进制位),编码后的数据是原先的8/5倍. Base32编码表
值 |
符号 |
值 |
符号 |
值 |
符号 |
值 |
符号 |
---|---|---|---|---|---|---|---|
0 |
A |
8 |
I |
16 |
Q |
24 |
Y |
1 |
B |
9 |
J |
17 |
R |
25 |
Z |
2 |
C |
10 |
K |
18 |
S |
26 |
2 |
3 |
D |
11 |
L |
19 |
T |
27 |
3 |
4 |
E |
12 |
M |
20 |
U |
28 |
4 |
5 |
F |
13 |
N |
21 |
V |
29 |
5 |
6 |
G |
14 |
O |
22 |
W |
30 |
6 |
7 |
H |
15 |
P |
23 |
X |
31 |
7 |
填充 |
= |
Base32将任意字符串按照字节进行切分,并将每个字节对应的二进制值(不足8比特高位补0)串联起来,按照5比特一组进行切分,并将每组二进制值转换成十进制来对应32个可打印字符中的一个。
由于数据的二进制传输是按照8比特一组进行(即一个字节),因此Base32按5比特切分的二进制数据必须是40比特的倍数(5和8的最小公倍数)。例如输入单字节字符“%”,它对应的二进制值是“100101”,前面补两个0变成“00100101”(二进制值不足8比特的都要在高位加0直到8比特),从左侧开始按照5比特切分成两组:“00100”和“101”,后一组不足5比特,则在末尾填充0直到5比特,变成“00100”和“10100”,这两组二进制数分别转换成十进制数,通过上述表格即可找到其对应的可打印字符“E”和“U”,但是这里只用到两组共10比特,还差30比特达到40比特,按照5比特一组还需6组,则在末尾填充6个“=”。填充“=”符号的作用是方便一些程序的标准化运行,大多数情况下不添加也无关紧要,而且,在URL中使用时必须去掉“=”符号。
与Base64相比,Base32具有许多优点:
- 适合不区分大小写的文件系统,更利于人类口语交流或记忆。
- 结果可以用作文件名,因为它不包含路径分隔符 “/”等符号。
- 排除了视觉上容易混淆的字符,因此可以准确的人工录入。(例如,RFC4648符号集忽略了数字“1”、“8”和“0”,因为它们可能与字母“I”,“B”和“O”混淆)。
- 排除填充符号“=”的结果可以包含在URL中,而不编码任何字符。
Base32也比Base16有优势:
- Base32比Base16占用的空间更小。(1000比特数据Base32需要200个字符,而Base16则为250个字符)
Base32的缺点:
- Base32比Base64多占用大约20%的空间。因为Base32使用8个ASCII字符去编码原数据中的5个字节数据,而Base64是使用4个ASCII字符去编码原数据中的3个字节数据。
4、Base16——示例61646D696E
它的特点是没有等号并且数字要多于字母
Base16编码的方式:
1.将数据(根据ASCII编码,UTF-8编码等)转成对应的二进制数,不足8比特位高位补0。然后将所有的二进制全部串起来,4个二进制位为一组,转化成对应十进制数。
2.根据十进制数值找到Base16编码表里面对应的字符。Base16是4个比特位表示一个字符,所以原始是1个字节(8个比特位)刚好可以分成两组,也就是说原先如果使用ASCII编码后的一个字符,现在转化成两个字符。数据量是原先的2倍。
值 |
编码 |
值 |
编码 |
---|---|---|---|
0 |
0 |
8 |
8 |
1 |
1 |
9 |
9 |
2 |
2 |
10 |
A |
3 |
3 |
11 |
B |
4 |
4 |
12 |
C |
5 |
5 |
13 |
D |
6 |
6 |
14 |
E |
7 |
7 |
15 |
F |
Base16编码是一个标准的十六进制字符串(注意是字符串而不是数值),更易被人类和计算机使用,因为它并不包含任何控制字符,以及Base64和Base32中的“=”符号。
5、Base85——示例@:X4hDWe0rkE(G[OdP4CT]N#
特点是奇怪的字符比较多,但是很难出现等号
6、Base100——示例
30余种加密编码类型的密文特征分析建议收藏相关推荐
- 30余种加密编码类型的密文特征分析
声明:本文只收集了30余种加密编码类型,关于他们的介绍来源于网络,重点讲的是他们的密文特征,还有很多类型没有讲到,后续等我研究明白了再发,转载请注明来源,感谢支持 MD5.sha1.HMAC算法.NT ...
- 30余种加密编码类型的密文特征分析,资深Python开发带你入门Framework
[]( )常用解密网站: [www.cmd5.com]( )(带批量解密工具) [www.somd5.com]( ) [cmd5.la]( ) [pmd5.com]( ) [www.ttmd5.com ...
- 第四天:基础入门-30余种加密编码进制Web数据库系统代码参数值
1.存储密码加密-Web&数据库&系统 md5:MD5值是32或16位位由数字"0-9"和字母"a-f"所组成的字符串 解密:枚举(碰撞) 其密 ...
- 【小迪安全】Day04基础入门-30 余种加密编码进制Web数据库系统代码参数值
一.知识点 1.1存储密码加密-Web&数据库&系统 1.2传输数据编码-各类组合传输参数值 1.3代码特性加密-JS&PHP&NET&JAVA 1.4数据显示 ...
- 箱线图怎么看_K线的48种不同类型全解(建议收藏),教你怎么看懂K线图
ID:K线助手 来源:公众号 链接:K线的48种不同类型全解(建议收藏),教你怎么看懂K线图 中国起步较晚,1990年我国股市开市时直接起用了K线,但对K线的研究.使用一直局限于日本人的研究成果,主要 ...
- Android支持视频编码,影音全能 完美支持十余种视频编码_华为 Ascend P6_手机Android频道-中关村在线...
拍照之后又到了用户们最关注的多媒体播放测试环节了.这年头四核设备播放720p视频早已不在话下,所以今天我们仍旧选择15段1080p视频进行测试.由于视频编码及封装格式不同,在我们以往评测的手机中,总有 ...
- python 散点图聚类,【聚类算法】10种Python聚类算法完整操作示例(建议收藏
点击上方,选择星标,每天给你送干货! 来源:海豚数据科学实验室著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的 ...
- charles 代理手机连不上网_手机连不上网?四种方法教你如何解决,建议收藏以备不时之需...
随着科技的进步,现在家家户户大街小巷都是Wifi信号,所以无线基地已经成为生活中不可缺少的一环,但也因为这样无线干扰的情况,常常听到有人抱怨怎么无线又突然断线啦?我的wifi又连不上了?为什么无线上网 ...
- 连不上网_手机连不上网?四种方法教你如何解决,建议收藏以备不时之需
随着科技的进步,现在家家户户大街小巷都是Wifi信号,所以无线基地已经成为生活中不可缺少的一环,但也因为这样无线干扰的情况,常常听到有人抱怨怎么无线又突然断线啦?我的wifi又连不上了?为什么无线上网 ...
最新文章
- Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)
- 《预训练周刊》第35期:零样本规划器的语言模型:为智能体提取可操作的知识、LaMDA:对话应用的语言模型...
- re-for-50-plz-50 寒假逆向生涯(6/100)
- 理解严格模式下JavaScript的this指向的变化
- m.2接口和nvme区别_原来M.2、SATA接口的固态盘有这样的差别,难怪大家都选“它”!...
- matlab常用函数辨析
- 用一个程序生成另一个程序_还有另一个报告生成器?
- 关于es6的const跟vuex里的getter
- spark的ContextCleaner清理
- day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType
- Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”
- 从头实现linux操作系统_从头开始实现您的第一个人工神经元
- 【Qt5】评标专家库随机选5人小软件
- 《Netty实战》总结
- ios ipa文件分析
- C/C++存储区域划分(栈区,堆区,全局区,代码区)
- 70万行代码、历时20年,一名开发人员写出的史诗般的计算机程序
- 银行卡资费转帐汇款取款_收费标准参考_中行_建行_工行_农行_招行_兴业等
- 幻灯片自动播放的实现
- 模糊数学 5、模糊综合评判
热门文章
30余种加密编码类型的密文特征分析建议收藏相关推荐
- 30余种加密编码类型的密文特征分析
声明:本文只收集了30余种加密编码类型,关于他们的介绍来源于网络,重点讲的是他们的密文特征,还有很多类型没有讲到,后续等我研究明白了再发,转载请注明来源,感谢支持 MD5.sha1.HMAC算法.NT ...
- 30余种加密编码类型的密文特征分析,资深Python开发带你入门Framework
[]( )常用解密网站: [www.cmd5.com]( )(带批量解密工具) [www.somd5.com]( ) [cmd5.la]( ) [pmd5.com]( ) [www.ttmd5.com ...
- 第四天:基础入门-30余种加密编码进制Web数据库系统代码参数值
1.存储密码加密-Web&数据库&系统 md5:MD5值是32或16位位由数字"0-9"和字母"a-f"所组成的字符串 解密:枚举(碰撞) 其密 ...
- 【小迪安全】Day04基础入门-30 余种加密编码进制Web数据库系统代码参数值
一.知识点 1.1存储密码加密-Web&数据库&系统 1.2传输数据编码-各类组合传输参数值 1.3代码特性加密-JS&PHP&NET&JAVA 1.4数据显示 ...
- 箱线图怎么看_K线的48种不同类型全解(建议收藏),教你怎么看懂K线图
ID:K线助手 来源:公众号 链接:K线的48种不同类型全解(建议收藏),教你怎么看懂K线图 中国起步较晚,1990年我国股市开市时直接起用了K线,但对K线的研究.使用一直局限于日本人的研究成果,主要 ...
- Android支持视频编码,影音全能 完美支持十余种视频编码_华为 Ascend P6_手机Android频道-中关村在线...
拍照之后又到了用户们最关注的多媒体播放测试环节了.这年头四核设备播放720p视频早已不在话下,所以今天我们仍旧选择15段1080p视频进行测试.由于视频编码及封装格式不同,在我们以往评测的手机中,总有 ...
- python 散点图聚类,【聚类算法】10种Python聚类算法完整操作示例(建议收藏
点击上方,选择星标,每天给你送干货! 来源:海豚数据科学实验室著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的 ...
- charles 代理手机连不上网_手机连不上网?四种方法教你如何解决,建议收藏以备不时之需...
随着科技的进步,现在家家户户大街小巷都是Wifi信号,所以无线基地已经成为生活中不可缺少的一环,但也因为这样无线干扰的情况,常常听到有人抱怨怎么无线又突然断线啦?我的wifi又连不上了?为什么无线上网 ...
- 连不上网_手机连不上网?四种方法教你如何解决,建议收藏以备不时之需
随着科技的进步,现在家家户户大街小巷都是Wifi信号,所以无线基地已经成为生活中不可缺少的一环,但也因为这样无线干扰的情况,常常听到有人抱怨怎么无线又突然断线啦?我的wifi又连不上了?为什么无线上网 ...
最新文章
- Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)
- 《预训练周刊》第35期:零样本规划器的语言模型:为智能体提取可操作的知识、LaMDA:对话应用的语言模型...
- re-for-50-plz-50 寒假逆向生涯(6/100)
- 理解严格模式下JavaScript的this指向的变化
- m.2接口和nvme区别_原来M.2、SATA接口的固态盘有这样的差别,难怪大家都选“它”!...
- matlab常用函数辨析
- 用一个程序生成另一个程序_还有另一个报告生成器?
- 关于es6的const跟vuex里的getter
- spark的ContextCleaner清理
- day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType
- Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”
- 从头实现linux操作系统_从头开始实现您的第一个人工神经元
- 【Qt5】评标专家库随机选5人小软件
- 《Netty实战》总结
- ios ipa文件分析
- C/C++存储区域划分(栈区,堆区,全局区,代码区)
- 70万行代码、历时20年,一名开发人员写出的史诗般的计算机程序
- 银行卡资费转帐汇款取款_收费标准参考_中行_建行_工行_农行_招行_兴业等
- 幻灯片自动播放的实现
- 模糊数学 5、模糊综合评判