对于密码学来说编码并不是密码,但也是很常见的使用了,因此在这里简单的总结一下各种编码。
1. ASCII
对于ASCII来说其前1~31为非打印字符,后面的才是打印字符。可以说是用的很广泛的一种一种编码了。例如在SQL注入中我们都会经常遇到他,在各种语言中都会遇到为其设置的函数,等等。。
废话不说上图:
可以看到,其前1~31为非打印字符。。
2. Base64编码/base32/base16等等
也是一种常用的编码方式。
base64/32/16则是分别将对应的8个字节转换为6、5、4个字节
举个例子:
对于"Mikasa"这个字符串,对应的ASCII值为
77 105 107 97 115 97
对应的二进制数为:
01001101 01101001 01101011 01100001 01110011 01100001
那么根据base64将八位的字节分为6位一组后
010011 010110 100101 101011 011000 010111 001101 100001
之后再补位成8位
00010011 00010110 00100101 00101011 00011000 00010111 00001101 00100001
转换为10进制为
19 22 37 43 24 23 13 33
查下对于base64的对照表(一共有64个,从0开始的,分别是A-Z a-z 0-9 还有 + 和 /)注意没有=这个是填充字符的
查表得出结果为
TWlrYXNh
<