Web开发:数据的加密和解密
一、常见通用术语解析
- 加盐:在密码中加入随机数据,提高安全性。
- 摘要:固定长度的输出,用于数据完整性验证。
- 加密:将数据转换为不可读形式,确保安全。
- 撞库:通过暴力破解比对常见密码的攻击方式。
- js逆向:分析JavaScript代码以获取敏感信息。
- 密文:加密后的数据,反义词是明文(未加密的数据)。
- 签名:验证数据来源和完整性,防篡改。
- 加密向量:用于增强加密算法随机性的初始值,确保相同数据加密结果不同。
- 加密模式:指加密算法处理数据块的方式,如ECB、CBC等。
- 加密填充:在加密过程中,填补不足的数据块,确保数据块长度一致。
二、常见加密方式及其特点
算法名称 | 是否可解密 | 加密原理 | 加密特点 |
---|---|---|---|
MD5 | 否 | 将输入数据分块,生成128位哈希值。 | 1. 单向哈希 2. 快速计算 3. 易碰撞 |
DES | 是 | 使用56位密钥进行分组加密。 | 1. 对称加密 2. 56位密钥 3. 安全性较低 |
AES | 是 | 基于替代-置换结构,使用128/192/256位密钥。 | 1. 高安全性 2. 支持不同密钥长度 3. 速度快 |
BASE64 | 否 | 将二进制数据编码为可打印字符。 | 1. 编码转换 2. 无加密功能 3. 易解码 |
RSA | 是 | 基于大数质因数分解的公钥加密算法。 | 1. 非对称加密 2. 安全性高 3. 密钥较长 |