✨Ascall编码:在 ctf 比赛中,flag 的标志一般是以 Ascall 码的形式存在,其对应的码值为102,108,97,103(其中{的码值是123)!
✨Unicode编码:又名万国码,该编码将字符分成17种平面,每个平面有65536个码位,像一本大字典一样,是一个涵盖了大量字符的字符集,对每个字符赋予了独一无二的编码。
其四种表现方式如下:
unicode编码在线解码工具网址为:菜鸟工具 - 不止于工具
✨UTF-8编码:(真正的字符编码规则)是一种“可变长编码”,使用1-6个字节表示一个字符。
(1)单个编码的字符第一位为0(可向下兼容Ascall编码).
(2)多个字节的字符从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,剩余字节的前两位都设置为10,剩下的二进制位则使用这个字符的Unicode编码来填充。
<meta charset="UTF-8"/>表示把Unicode编码以UTF-8的形式传输到浏览器。
✨URL编码:又称为百分号编码,其表现形式由 %+Ascall的16进制组成。
✨Base64编码:基于大小写英文字母,数字,+,/ 这64个符号来表示的二进制数据编码,常用于传输邮件或存储数据等场合。
编码的具体操作:文本➡10进制的Ascall码➡8位二进制数➡按6位一组由高到低划分(剩下的两位与后面拼接)➡将6位一组的二进制两位高位补0,将其转换为十进制➡根据其base64表查找所对应的符号➡每3个文本对应4个字符长度,若长度不为3的倍数,则高位用0补齐,没有数据的用 “=” 或者 “==” 补上。
Base 32,Base 16不区分大小写字母!!!
✨摩斯电码:又称为摩尔斯电码,摩斯密码等,是一种能把英文字母,数字和符号用可变长度信号表示的编码方式。
其字符集有三种:点(代表短音),划(代表长音),分隔符(代表在点和划之间的分隔),字符集的符号是不固定的,只要按照规定排列即可。
✨哈希算法:又称为单向散列函数算法,是一系列将明文通过计算转换为固定长度,无规律可循的字符串且不可逆的密码学算法。该算法主要是为了验证信息在传输过程中是否发生了非授权的篡改,即确认信息是否存在完整性。
特性:(1)内容不同哈希值不同
(2)很难找到哈希值完全相同的两个文件
(3)哈希算法具有“单向性”
常见的哈希算法:MD4,MD5,SHA算法
MD5:是32位由数字 “ 0—9 ” 和字母 “ a—f ”所组成的字符串,字母大小写统一。(若非此范围即非MD5,无需解密)
有固定的长度:32位或者16位
注意:有时为了保护明文还会加上盐值(时间戳或者随机的一串字符串),盐值和白虎的明文结合在一起,成为一个新的字符串,再计算该字符串哈希值,这就大大增加了明文的安全性。
md5在线解密破解,md5解密加密
(单向的,之所以被解密,是因为在字典中存储多了,形成的记忆)