js加解密收集
node原生crypto包
crypto-js 前端js
RC4
Crypto
const crypto = require('crypto');
// encrypt
let text = '你的行为和表现还是让我无法完全相信你放下了';
let encipher = crypto.createCipheriv('rc4', '小太阳小月亮', '');
let encrypted = encipher.update(text, 'utf8', 'hex');
encrypted += encipher.final('hex');
console.log(encrypted);
// decrypt
let code = 'd3f02951aabb2694da3a2ca90b102360edb9df90dd51775ca438c375cbe2f0799ef0785fd7b892aba5e9fc3bdda615780db4d43310bb4f9d75c4846b35831f';
let secretKey = '小太阳小月亮';
let decipher = crypto.createDecipheriv('rc4', secretKey,'');
let decrypted = decipher.update(code, 'hex','utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);
CryptoJS
const CryptoJS = require('crypto-js');
// encrypt
let keyWordArray = CryptoJS.enc.Utf8.parse('小太阳小月亮');
let textWordArray = CryptoJS.enc.Utf8.parse('你的行为和表现还是让我无法完全相信你放下了');
let encrypted = CryptoJS.RC4.encrypt(textWordArray, keyWordArray);
console.log(encrypted.toString(CryptoJS.format.Hex));
// decrypt
let textWordArray = CryptoJS.enc.Hex.parse('d3f02951aabb2694da3a2ca90b102360edb9df90dd51775ca438c375cbe2f0799ef0785fd7b892aba5e9fc3bdda615780db4d43310bb4f9d75c4846b35831f')
let keyWordArray = CryptoJS.enc.Utf8.parse('小太阳小月亮')
let decryptedWordArr = CryptoJS.RC4.decrypt(CryptoJS.lib.CipherParams.create({ ciphertext:textWordArray}), keyWordArray)
console.log(CryptoJS.enc.Utf8.stringify(decryptedWordArr));
HmacSHA1
Crypto
const crypto = require('crypto');
let message = '你的行为和表现还是让我无法完全相信你放下了';
let key = '小太阳小月亮'
let encrypt = crypto.createHmac('sha1', key).update(message).digest('hex');
console.log(encrypt);
CryptoJS
const CryptoJS = require('crypto-js');
let message = '你的行为和表现还是让我无法完全相信你放下了';
let key = '小太阳小月亮'
let hash = CryptoJS.HmacSHA1(message, key);
console.log(CryptoJS.enc.Hex.stringify(hash))
RSA
forgeJs/jsencrypt
node-rsa