我需要以下加密解密,但在客户端的java脚本。这段代码是用Node-JS写的,使用加密库,我找不到客户端运行的java脚本的相同解决方案。
const crypto = require('crypto');
const decrypt = (textBase64, keyBase64, ivBase64) => {
const algorithm = 'aes-256-cbc';
const ivBuffer = Buffer.from(ivBase64, 'base64');
const keyBuffer = Buffer.from(keyBase64, 'base64');
const decipher = crypto.createDecipheriv(algorithm, keyBuffer, ivBuffer);
decipher.setAutoPadding(false);
let decrypted = decipher.update(textBase64, 'base64', 'utf8');
decrypted += decipher.final('utf8');
return decrypted;
}
const encryptedMessage = '';
const key = 'cGFzc3dvcmQxMjM0NTY3ODk=';
const iv = Buffer.from(encryptedMessage, 'base64').slice(0, 16);
// the message comes from the bytes AFTER the IV - this is what you should decrypt
const message = Buffer.from(encryptedMessage, 'base64').slice(16);
const result = decrypt(message, key, iv);
console.log(result);
//console.log(Buffer.from(encryptedMessage, 'base64').slice(0, 16))发布于 2020-06-10 17:23:13
首先,我想说的是,不推荐在客户端解密,因为密钥是可见的。但你知道你在做什么。
这个库是纯JS的,应该可以在浏览器中轻松地工作:ricmoo/aes-js
https://stackoverflow.com/questions/62299951
复制相似问题