浏览器使用 CryptoJS,从浏览器控制台加载外部脚本
创始人
2025-05-31 23:53:08

浏览器使用 CryptoJS,从浏览器控制台加载外部脚本

  • 加载外部脚本 CryptoJS
    • MD5
    • AES
  • 参考资料

有时临时在浏览器里跑点代码判断。
需要引用外部的工具包。
有的人说用 RequireJS ,但我只是想到控制台临时跑一下,谁来帮我导 RequireJS 进来先呢?

加载外部脚本 CryptoJS

原理就是动态创建 script 标签,并插入当前页的 head

function loadJs(jsUrl){let scriptTag = document.createElement('script');scriptTag.src = jsUrl;document.getElementsByTagName('head')[0].appendChild(scriptTag);
};// 加载 CryptoJS 的浏览器版本,得到全局对象 CryptoJS
loadJs('https://cdn.bootcdn.net/ajax/libs/crypto-js/4.1.1/crypto-js.min.js');

MD5

var str = CryptoJS.MD5("大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢!").toString();
console.log(str);

AES

key 是秘钥通常是双方事先商定的。(这里用于演示,我随机一个)
iv 是初始化向量,作为一个用于增强密码的安全性的随机值。每次加密都随机生成新的iv,并将其与密文一起发给对方。

// 随机生成密钥和 IV
const key = CryptoJS.lib.WordArray.random(128 / 8); // 128 位密钥
const iv =  CryptoJS.lib.WordArray.random(16); 		// 16 字节的随机 IV
console.log(key, iv);
function aes(plaintext, _key=key , _iv=iv) {const encrypted = CryptoJS.AES.encrypt(plaintext, CryptoJS.enc.Utf8.parse(_key), {iv: CryptoJS.enc.Utf8.parse(_iv),mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});return encrypted.toString();
}
var str = aes("大家好,我是笨笨,笨笨的笨,笨笨的笨,谢谢!");
// 将加密后的消息和 IV 发送给服务器
const param = {encrypted: str.toString(),iv: iv.toString(),
};
console.log(JSON.stringify(param,null,2));

密文iv一起发给对方

{"encrypted": "ibpwj75Uu6IkBXlLEgSOTxmAFW44FxZVKlEhBUCJxCGI9Y2QRseZRCtZkr/XWDhG7oUInKQ8yy2gfOF0Ws8VUkIYUkb2D3WUQ8fH0gM1Fxk=","iv": "222971b5996937a0202190557a66ebc4"
}

参考资料

CryptoJS 文档

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
吸猫伐是什么意思 吸猫是吸哪里 作为铲屎官,相信对于网络上流行的各种与猫咪相关的梗都是了然于心的,什么吸猫啦,撸猫啦,云养猫啦……等...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
重庆属于哪个省份的 重庆在中国... 重庆有多大,大到超出我们的想象,重庆作为我国4个直辖市之一,印象里应该跟京津沪面积差不多,可事实上却...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...