当前位置: 首页 > wzjs >正文

易瑞通网站建设wordpress前面头部目录框

易瑞通网站建设,wordpress前面头部目录框,芜湖市网站建设公司,广州仿站定制模板建站前言:这里只说js用的CryptoJS库里的相关内容,只用js来进行代码操作和讲解。 这里网上相关的帖子很少,不得已问了很长时间AI 想引用CryptoJS库情况分两种,一种是html引用,另一种是在Nodejs里引用。 一、引用CryptoJS库…

前言:这里只说js用的CryptoJS库里的相关内容,只用js来进行代码操作和讲解。

           这里网上相关的帖子很少,不得已问了很长时间AI

想引用CryptoJS库情况分两种,一种是html引用,另一种是在Nodejs里引用。

一、引用CryptoJS库

1.在html里引用就用script标签里放CryptoJS的cdn即可

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>

2.在Nodejs里使用就用下面的代码,当然,你用之前得先用cmd把库下载到本地,具体步骤网上查询。

const CryptoJS = require('crypto-js');

二、WordArray对象

什么是WordArray对象呢,我具体问了下GPT,下面是具体解释:

CryptoJS 中,所有的加密操作和字节数组都由 WordArray 类型表示。CryptoJS 的加密和解密过程本质上都在处理字节数据(WordArray),所以无论你使用的是哪种加密算法,解密后的结果仍然是 字节数组WordArray 对象)。所有通过 CryptoJS 加密的算法(如 AES、DES、Triple DES、RC4、Rabbit 等)都返回一个 WordArray 对象,它们的解密过程同样返回一个 WordArray 类型的数据。因此,你可以对这些算法的解密结果使用相同的 .toString() 方法来获取不同的编码格式。

另外,WordArray对象还有个重要作用,即解密过程中的数据都保存在 WordArray 类型里

在解密过程中,解密的结果通常是一个 WordArray 对象,它包含了解密后的字节数据。这个 WordArray 对象可以通过 .toString() 方法转换为其他格式的字符串(如 UTF-8、Hex、Base64 等)

无论你使用 CryptoJS 执行哪种加密或解密算法(例如 AES、DES、Triple DES、RC4 等),它们都会以 WordArray 类型 存储数据。


WordArray 类型的基本概念

CryptoJS 中的 WordArray 是一种 字节数组 的表示,它被用于存储加密或解密过程中的 二进制数据(比如密文、明文、密钥、初始化向量等)。WordArrayCryptoJS 库的核心数据类型之一,它的结构有两个属性:

  1. words:这是一个数组,包含了数据的字节值。每个 word 是一个 32 位的整数(4 个字节)。所以,words 数组实际上代表了所有字节数据的集合。
  2. sigBytes:这个属性表示字节数据的总字节数(例如:16 字节、32 字节等)。它记录的是有效字节的长度。

想打印WordArray类型的变量也简单,下面的代码就可以打印(不要忘了先引用CryptoJS)

let key = CryptoJS.enc.Utf8.parse('f5d965df75336270');
console.log(key);  // 输出的会是一个字节数组,包含字符对应的字节值

打印出就是下面截图这样

三、WordArray储存的解密结果如何转换不同的编码格式

上面已经知道了,解密结果储存在WordArray对象里,我们可以将解密结果转换为不同的编码格式,比如 Base64, Hex, 或者 字节数组 等。

// 假设你已经有了加密的密文和相应的解密配置
let key = CryptoJS.enc.Utf8.parse('f5d965df75336270');
let iv = CryptoJS.enc.Utf8.parse('97b60394abc2fbe1');
let encryptedData = result;  // 假设 result 是 Base64 编码的密文// 解密
let decryptedData = CryptoJS.AES.decrypt(encryptedData, key, {iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.NoPadding
});// 转换为不同的格式
let plaintextUtf8 = decryptedData.toString(CryptoJS.enc.Utf8);  // 明文字符串
let decryptedHex = decryptedData.toString(CryptoJS.enc.Hex);   // 十六进制字符串
let decryptedBase64 = decryptedData.toString(CryptoJS.enc.Base64);  // Base64 字符串
let decryptedLatin1 = decryptedData.toString(CryptoJS.enc.Latin1);  // Latin1 编码字符串
let decryptedBytes = decryptedData.words;  // 字节数组// 输出不同的格式
console.log('UTF-8:', plaintextUtf8);
console.log('Hex:', decryptedHex);
console.log('Base64:', decryptedBase64);
console.log('Latin1:', decryptedLatin1);
console.log('Bytes:', decryptedBytes);

总结:

  • .toString(CryptoJS.enc.Utf8):将字节数组转换为 UTF-8 编码的字符串,这个一般最常用。
  • .toString(CryptoJS.enc.Hex):将字节数组转换为十六进制字符串。
  • .toString(CryptoJS.enc.Base64):将字节数组转换为 Base64 编码的字符串。
  • .toString(CryptoJS.enc.Latin1):将字节数组转换为 Latin1 编码的字符串。
  • .words:直接获取字节数据(以字节数组的形式)。
http://www.dtcms.com/wzjs/601181.html

相关文章:

  • 免费论文网站大全桂阳网站定制
  • 网站主页模板西安网站建设gj
  • 做英剧网站的设计思路网站开发费用
  • 郑州工程建设信息网站刚注册公司怎么做网站
  • 电子商务网站建设作业文档东莞网站制作培训多少钱
  • 做水果网站行精准营销方式有哪些
  • 网站开发用工工程师柳州正规网站建设招商
  • dw做网站怎么发布网站建设公司广
  • 网站排名怎么优化网站站群怎么做
  • 怎样让网站排名优化工鞍山市残疾人网站开发
  • 建设网站的功能及目的怎么查百度收录
  • 免费网页视频下载器seo需要什么技术
  • 网站开发评估与调整莱芜新闻最新消息
  • 天津专业的网站建设公司淘客cms网站建设
  • 主营商城网站建设临沂做网站
  • 富阳网站开发南通专业家纺网站建设
  • 维启网站建设网站建设公司源码 asp
  • 外贸网站建设优化外链推广网站都有哪些
  • 天津塘沽网站建设用focusky做h5微网站
  • 文登区城乡建设局网站餐饮企业网站开发背景
  • 域名和网站的建设实训报告网站网页设计招聘
  • 沈阳创新网站建设报价成立公司注意事项
  • 手机网站开发解决方案微信公众号登录不上
  • 藤县建设局网站wordpress xmmpp
  • 快速搭建网站框架的工具进入公众号免费获取验证码
  • 郑州做网站公司有多少钱wordpress for sae 4.4
  • 石家庄整站优化技术做网站的叫什么思耐
  • 学校网站建设所使用的技术wordpress后缀
  • 网站不收录网页制作工具按其制作方式分为什么
  • 深圳网站开发招聘上海建设工程招投标网站