- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
crypto的使⽤⽅法和说明
crypto模块提供了加密功能,包含对 OpenSSL的哈希、HMAC、加密、解密、签名、以及验证功能的⼀整套封装。我们这⾥讲crypto AES
算法加密
⼀、使⽤步骤
1.引⼊Crypto
使⽤1.1Crypto,有两种形式。⼀种是是在script便签直接引⼊,例如:
script src=lib/CryptoJS v3.1.2/rollups/aes.js/script
还有⼀种通过1.2 npm安装CryptoJS,例如:
npm install crypto-js
如果是通过1.2.1npm安装,需要引⼊,代码如下:
import CryptoJS from crypto-js/crypto-js
2.开始编写逻辑代码
安装完成后,你根据⾃⼰的需求对需要加密的数据进⾏加密。
⼆、如何加密
第⼀种,先上代码:
//aes加密 加密秘钥 16位 const iv =
CryptoJS.enc.Utf8.parse(1234567890000000); //加密⽮量
CryptoJS.pad.Pkcs7 }); } else if (typeof(word) == object) { //对象格式的转成json字符串
CryptoJS.pad.Pkcs7 }) } return encrypted.ciphertext.toString(); } },
代码讲解:
这⾥的数据可以⽤两种数据格式,⼀种是字符串,⼀种是对象。然后我们对数据进⾏处理然后再根据⾃⼰定义的秘钥和⽮量调⽤aes算法
进⾏加密。
第⼆种,先上代码:
数组排序 strs=strs.join(); //数组变字符串 let
加密 let key =
CryptoJS.enc.Utf8.parse(0880076B18D7EE81); //加密秘钥 ⽮量 let
encryptResult = CryptoJS.AES.encrypt(endData,key, { // AES加密 后台
⽤的是pad.Pkcs5,前台对应为 加
密再 encode; }
代码讲解:
⾸先我们将数据进⾏排序,然后将排序好的数据进⾏MD5加密作为接⼝的签名,接着将排好序的数据和接⼝签名拼接上进⾏AES加密,倒
数第⼆步,将AES加密后的密⽂进⾏base64加密,最后将最终的密⽂encodeURIComponent。
三、如何解密
后台1.返回的数据也是密⽂
后台返回2.的数据是json格式
代码如下:
加密秘钥 let iv =
CryptoJS.enc.Utf8.parse(CB3EC842D7C69578); //⽮量 解密 let
ciphertext=CryptoJS.enc.Base64.stringify(baseResult); // Base64解密 解
密 iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
// 第⼀种 let resData=decryptResult.toString(CryptoJS.enc.Utf8).toString(); return JSON.parse(resData);
// 第⼆种
return CryptoJS.enc.Utf8.stringify(decryptResult) }
原创力文档


文档评论(0)