crypto.js_提供了各种各样的加密算法的js库

更新日期:2020年09月02日 投稿作者:分类目录网 围观人数:2689

crypto.js

crypto.js_提供了各种各样的加密算法的js库 第1张
简介:提供了各种各样的加密算法的js库

Cryptojs (crypto.js) 为 JavaScript 提供了各种各样的加密算法。目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等


crypto.js安装

npm install crypto-js

前端使用Cookies保存密码的时候需要前端来进行加密工作,接触到crypto这个js,使用还算简单,在这里记录一下。

可以在这个GitHub的https://github.com/brix/crypto-js上下载该js,它可以单独引入所需要加密方式的js;也可以引入一个crypto-js.js 这个文件,它相当于引入了所有的加密方式,我使用的就是后者一次引入所有的加密文件,这个文件也不是很大,还可以接受。

因为我的需求是密码可逆,有一定的安全性,所以使用DES或AES即可,我是用的就是AES,正好网上有一个使用AES的例子,直接拿来用了

crypto.js_提供了各种各样的加密算法的js库 第2张
crypto.js_提供了各种各样的加密算法的js库 第2张
function getAesString(data,key,iv){//加密
    var key  = CryptoJS.enc.Utf8.parse(key);
    var iv   = CryptoJS.enc.Utf8.parse(iv);
    var encrypted =CryptoJS.AES.encrypt(data,key,
        {
            iv:iv,
            mode:CryptoJS.mode.CBC,
            padding:CryptoJS.pad.Pkcs7
        });
    return encrypted.toString();    //返回的是base64格式的密文
}
function getDAesString(encrypted,key,iv){//解密
    var key  = CryptoJS.enc.Utf8.parse(key);
    var iv   = CryptoJS.enc.Utf8.parse(iv);
    var decrypted =CryptoJS.AES.decrypt(encrypted,key,
        {
            iv:iv,
            mode:CryptoJS.mode.CBC,
            padding:CryptoJS.pad.Pkcs7
        });
    return decrypted.toString(CryptoJS.enc.Utf8);     
}

function getAES(data){ //加密
    var key  = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';  //密钥
    var iv   = '1234567812345678';
    var encrypted =getAesString(data,key,iv); //密文
    var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted);
    return encrypted;
}

function getDAes(data){//解密
    var key  = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';  //密钥
    var iv   = '1234567812345678';
    var decryptedStr =getDAesString(data,key,iv);
    return decryptedStr;
}
crypto.js_提供了各种各样的加密算法的js库 第2张
crypto.js_提供了各种各样的加密算法的js库 第2张

key和iv我们都可以更换,但是需要保证的是加解密的key和iv保持一致

声明:本站资源收集于网络,但不代表本站的观点和立场,具体内容可自行甄别,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

SEO短格式内容与长格式内容(分类目录何时使用哪个?)

我们都知道制定可靠的内容策略的重要性以及正确解决方案可以实现的指数级增长。但是,在内容营销界也存在许多误解。 在过去的某个时候,您可能已经得到建议,说一段内容越长,效果越好。或者,您网站上的每个内容至少应包含2,000个字。  事实是这些不是真的,它们也不是不真实的-如果这有意义吗? 简短和长篇内容均在成功的内容营销策略中占有一席之地,并且两者在您的营销工具箱中都是非常强大的工具。 您只需要在正确的上下文中选择正确的内容形式

db是什么意思?(.db文件的正确打开方式)

db是什么意思?(.db文件的正确打开方式) db是什么意思?   db一般用记事本打开。db是datebase的缩写,是数据库文件。 用UltraEdit软件打开db文件:   1.点击打开网页浏览器,输入百度网址打开百度首页,然后再搜索窗口输入UltraEdit,然后点击百度一下。   2.点击百度一下以后出现免费下载的网站链接,找到

STDLib_支持科学和数字化的基于 web 的机器学习应用的开源库

STDLib 简介:支持科学和数字化的基于 web 的机器学习应用的开源库 STDLib是一个基于 JavaScript 和 Node.js 应用的开源库,如果您正在寻找一种在浏览器中运行,支持科学和数字化的基于 web 的机器学习应用,STDLib 能满足你的需要。 这个库能提供全面而先进的数学和统计学上的功能,来帮助你构建高性能的机器学习模型。你同样也可以使用它丰富的功能来构建应用程序和其他的库。除此之外,如果你想要一个数据可视化和探索性数据分析的框架 —— STDLib,