前端常用6种数据加密方式的使用
·
前端常用6种数据加密方式的使用
1. Base64编码
Base64 编码是一种简单的编码方式,它并不是真正意义上的加密,只是把二进制数据转换为可打印的 ASCII 字符。
// 编码
const originalData = 'Hello, World!';
const encodedData = btoa(originalData);
// 解码
const decodedData = atob(encodedData);
2. MD5 加密
MD5 是一种广泛使用的哈希函数,它可以把任意长度的数据转换为固定长度(128 位)的哈希值。
const CryptoJS = require('crypto-js');
const hash = CryptoJS.MD5('This is a secret message').toString();
3. SHA-1 加密
SHA-1 生成的哈希值长度为 160 位。
const sha1Hash = CryptoJS.SHA1('Some data to be hashed').toString();
4. SHA-256 加密
SHA-256 生成的哈希值长度为 256 位。
const sha256Hash = CryptoJS.SHA256('Important data').toString();
5. AES 加密
AES(高级加密标准)是一种对称加密算法。
// 加密
const encrypted = CryptoJS.AES.encrypt('Sensitive information', 'secret key 123').toString();
// 解密
const decrypted = CryptoJS.AES.decrypt(encrypted, 'secret key 123').toString(CryptoJS.enc.Utf8);
6. RSA 加密
RSA 是一种非对称加密算法。
const JSEncrypt = require('jsencrypt');
const encrypt = new JSEncrypt();
// 设置公钥
encrypt.setPublicKey(publicKey);
const encrypted = encrypt.encrypt('Confidential message');
// 设置私钥
encrypt.setPrivateKey(privateKey);
const decrypted = encrypt.decrypt(encrypted);
各加密方式对比表
| 加密方式 | 类型 | 输出长度 | 安全性 | 特点 |
|---|---|---|---|---|
| Base64 | 编码 | 可变 | 无 | 可逆,非真正加密 |
| MD5 | 哈希 | 128bit | 低 | 快速,已不推荐 |
| SHA-1 | 哈希 | 160bit | 中低 | 已被证明不安全 |
| SHA-256 | 哈希 | 256bit | 高 | 当前推荐标准 |
| AES | 对称加密 | 可变 | 高 | 性能好,密钥管理难 |
| RSA | 非对称加密 | 可变 | 高 | 速度慢,安全性高 |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)