> 技术文档 > 前端常用6种数据加密方式的使用_前后端数据加密方式有哪些

前端常用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 非对称加密 可变 高 速度慢,安全性高