列举8种最常见的js加密方法
JavaScript中常见的加密方法包括:
- MD5:一种散列函数,不可逆。
- SHA:另一种散列函数,也不可逆。
- AES:高级加密标准,可以进行对称加密。
- RSA:一种非对称加密算法,可以进行公钥和私钥加密。
- HMAC:使用散列函数的消息认证码,结合密钥和散列函数进行加密。
- Base64:一种编码方法,可以将二进制数据编码为可读的字符串。
- TripleDES:三重DES加密算法,对称加密。
- DES:一种对称加密算法,但是安全性不如其后继者。
以下是这些方法的简单示例代码:
// MD5加密
const md5 = require('md5');
const hash = md5('my text');
// SHA加密
const crypto = require('crypto');
const sha256 = crypto.createHash('sha256');
sha256.update('my text');
const hash = sha256.digest('hex');
// AES加密
const crypto = require('crypto');
const algorithm = 'aes-256-cbc';
const key = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv(algorithm, key, iv);
let encrypted = cipher.update('my text', 'utf8', 'hex');
encrypted += cipher.final('hex');
// RSA加密
const NodeRSA = require('node-rsa');
const key = new NodeRSA({ b: 512 }); // 生成密钥对
const publicKey = key.exportKey('public');
const privateKey = key.exportKey('private');
const encrypted = key.encrypt('my text', 'base64');
// HMAC加密
const crypto = require('crypto');
const key = 'secret-key';
const hmac = crypto.createHmac('sha256', key);
hmac.update('my text');
const hash = hmac.digest('hex');
// Base64编码
const btoa = require('btoa');
const encoded = btoa('my text');
// TripleDES加密
const crypto = require('crypto');
const des3 = crypto.createCipher('des3', 'password');
let encrypted = des3.update('my text', 'utf8', 'hex');
encrypted += des3.final('hex');
// DES加密
const des = require('des.js');
const key = 'password';
const text = 'my text';
const encrypted = des.encrypt(text, key);
注意:以上代码仅用于示例,实际应用中需要处理异常和错误,并确保密钥的安全管理。
评论已关闭