在前端开发中,数据安全往往容易被忽视。无论是用户隐私传输还是接口签名,选择合适的加密方式至关重要。本文将梳理几种常见的前端加密方案,从编码到哈希,再到对称与非对称加密,结合实战代码帮你快速上手。
Base64 编码
首先需要明确,Base64 并非加密算法,而是一种编码方式。它将二进制数据转换为 64 个可打印字符的文本字符串。这常用于 URL 传输、Cookie 存储或内嵌图片以减少请求次数。虽然性能影响小,但数据体积会增加约 1/3,且不具备保密性。
function toBase64(str) {
return btoa(unescape(encodeURIComponent(str)));
}
function fromBase64(str) {
return decodeURIComponent(escape(atob(str)));
}
// 使用示例
const originalText = "Hello, World!";
const encodedText = toBase64(originalText);
console.log(encodedText); // "SGVsbG8sIFdvcmxkIQ=="
const decodedText = fromBase64(encodedText);
console.log(decodedText); // "Hello, World!"
MD5 与 SHA-256 哈希
这两者属于哈希算法,产生固定长度的摘要。它们不可逆,因此不能用来'解密',主要用于数据完整性校验或密码存储(配合盐值)。
MD5 计算快但存在碰撞风险,已不推荐用于高安全场景。SHA-256 则更安全,适用于分布式系统或区块链等场景。
import CryptoJS from 'crypto-js';
function md5Encrypt(str) {
return CryptoJS.MD5(str).toString();
}
function sha256Encrypt() {
.(str).();
}
originalText = ;
.((originalText));
.((originalText));


