一、常见通用术语解析
- 加盐:在密码中加入随机数据,提高安全性。
- 摘要:固定长度的输出,用于数据完整性验证。(MD5,SHA算法)
- 加密:将数据转换为不可读形式,确保安全。
- 撞库:通过暴力破解比对常见密码的攻击方式。
- js逆向:分析JavaScript代码以获取敏感信息。
- 密文:加密后的数据,反义词是明文(未加密的数据)。
- 签名:验证数据来源和完整性,防篡改。
- 加密向量:用于增强加密算法随机性的初始值,确保相同数据加密结果不同。
- 加密模式:指加密算法处理数据块的方式,如ECB、CBC等。
- 加密填充:在加密过程中,填补不足的数据块,确保数据块长度一致。
- 公钥:公开的,用于加密。
- 私钥:与公钥配对的密钥,用于解密数据。(①知公钥不知私钥,无法解密;知私钥不知公钥,可以解密数据,但无法加密数据供他人使用。因此,只有公私钥对齐才能实现安全的加密通信。②公钥和私钥通常是成对存在的,每对公钥和私钥对应一个特定的加密算法。)
- 时间戳:①一个数字,可推导出生成时间,常用作加密。②时间戳计算方法:1970年1月1日到此时此刻经过的秒数。③单位为秒的时间戳是10个字符长度,单位为毫秒的时间戳是13个字符长度。
二、常见加密方式及其特点
算法名称 | 是否可解密 | 加密原理 | 加密特点 |
---|---|---|---|
MD5 | 否 | 将输入数据分块,生成128位哈希值(32个字符) |
1. 加密后是32个字符 2. 快速计算 3. 易碰撞 |
SHA-1 | 否 | 基于分组加密和迭代处理,生成160位哈希值(40个字符) |
1. 输出160位 2. 安全性较低 3. 易碰撞 |
SHA-256 | 否 | 基于迭代式哈希运算,生成256位哈希值(64个字符) |
1. 输出256位 2. 高安全性 3. 速度较慢 |
DES | 是 | 使用56位密钥进行分组加密。 |
1. 对称加密 2. 56位密钥 3. 安全性较低 |
AES | 是 | 基于替代-置换结构,使用128/192/256位密钥。 |
1. 高安全性 2. 支持不同密钥长度 3 . 速度快 |
RSA | 是 | 基于大数质因数分解的公钥加密算法。 |
1. 非对称加密 2. 安全性高 3. 密钥较长 |
加密算法 | 所需数据 | 说明 |
---|---|---|
MD5 | 明文数据 | MD5 是一种哈希函数,输入数据(明文)会被转换成128位哈希值,通常是一个32位的十六进制字符串。 |
SHA-1 | 明文数据 | SHA-1 是一种哈希函数,输入数据(明文)会被转换成160位哈希值,通常是一个40位的十六进制字符串。 |
SHA-256 | 明文数据 | SHA-256 是 SHA-2 系列的一种哈希函数,输入数据(明文)会被转换成256位哈希值,通常是一个64位的十六进制字符串。 |
DES | 明文数据,密钥(56位) | DES(数据加密标准)是对称加密算法,使用56位密钥对数据进行加密和解密。 |
AES | 明文数据,密钥(128位、192位或256位) | AES(高级加密标准)是对称加密算法,支持128位、192位和256位的密钥长度。 |
RSA | 明文数据,公钥(加密)或私钥(解密),可选的密钥对 | RSA 是一种非对称加密算法,使用一对公钥和私钥来加密和解密数据。加密时需要公钥,解密时需要私钥 |