速通——密码学简要了解

目录

一、总体分类

1.密码编码

2.加密算法

3.数据摘要/Hash算法(验证数据完整性)

二、细分

1.ASCII码

2.base64(长度会变长)

3.URL编码

4.Unicode编码

​编辑 5.JS混淆


一、总体分类

1.密码编码

ASCII、base64等等,解题时比较简单,大多使用工具即可求出

2.加密算法

对称密钥算法(加密和解密密钥相同或可以相互退出)

       DES   3DES(密钥长度翻倍)   IDEA   AES(至今难以破解)

非对称密钥算法(加密和解密密钥不同,且很难相互推出)其中公开密钥即加密密钥,简称公钥;解密密钥保密,称为私钥。一般来说,此加密更为复杂。

       RSA(题大多)   ECC   ELGamal

3.数据摘要/Hash算法(验证数据完整性)

计算出的MD5或SHA是否与公布的数据相同,相同则未被篡改,不同则篡改或病毒。

              MD5   SHA

二、细分

1.ASCII码

ASCII 码使用指定的7位或8 位二进制数组合来表示128 或256种可能的字符。标准ASCII 码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写(65开始)和小写字母(97开始),数字0(48开始)到9、标点符号,以及在美式英语中使用的特殊控制字符。

ASCll在线转换地址: http://www.mokuge.com/tool/ascito16/

推荐阅读:编码的故事-CSDN博客

2.base64(长度会变长)

算法:Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充

具体转换步骤

第一步,将待转换的字符串每三个字节分为一组,每个字节用ASCII码16进制表示将该16进制转换成2进制,每个字节占8bit,那么共有24个二进制位。

第二步,将上面的24个二进制位每6个一组,共分为4组。

第三步,在每组前面添加两个0,每组由6个变为8个二进制位,总共32个二进制位,即四个字节。
第四步,根据Base64编码对照表获得对应的值.

3.URL编码

字符ASCII码的十六进制,需要在前面加%,编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。(故当其中很多%,则可能是URL加密)

规则:

字母、数字和字符, “a” 到 “z”、”A” 到 “Z” 和 “0” 到 “9” 保持不变;

特殊字符 “.”、”-“、”*” 和 “_” 保持不变;

除此之外,所有的其他字符都是不安全的,会变成以 % 开头的字符;

对于一个中文,会使用3个字节表示。

4.Unicode编码

       规则建议参考:彻底弄懂 Unicode 编码 - crazyYong - 博客园 (cnblogs.com)

特点:密文中有很多\uxxx


5.JS混淆

对javascripe的变量名称和过程名称进行编码,从而起到js混淆,通常使用eval函数混淆处理,该函数计算字符串并执行其中JS代码。

特点:通常在S脚本里使用eval与function函数进行混淆。

JS在线解混淆:JS代码加密 | Javascript 混淆 | JS混淆加密 - [JavaScript加密] (jsjiami.com)

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值