crypto-js:加密标准的JavaScript库

简介: crypto-js:加密标准的JavaScript库

安装


npm 包

npm install crypto-js



20210413152148409.png



打印 cryptoJs

可以看到有很多方法:具体的使用请参考【CryptoJS 文档】

20210413155031596.png



例子

比较简单的例子:比如:MD5,SHA256

<template>
  <div class='crypto-js'>
    cryptoJs 测试页面
  </div>
</template>
<script>
import CryptoJS from "crypto-js";
export default {
  data () {
    return {
      hashStr: "凯小默的英文名叫kaimo"
    };
  },
  mounted() {
    console.log(CryptoJS);
    const MD5_hashStr = CryptoJS.MD5(this.hashStr);
    console.log('MD5_hashStr', MD5_hashStr.toString());
    const SHA256_hashStr = CryptoJS.SHA256(this.hashStr);
    console.log('SHA256_hashStr', SHA256_hashStr.toString());
  },
};
</script>


202104131618283.png


源码算法可以自己去看看:

20210413162447390.png



复杂一点的:比如:DES

<template>
  <div class='crypto-js'>
    cryptoJs 测试页面
  </div>
</template>
<script>
import CryptoJS from "crypto-js";
export default {
  data () {
    return {
      hashStr: "凯小默的英文名叫kaimo"
    };
  },
  mounted() {
    console.log(CryptoJS);
    const MD5_hashStr = CryptoJS.MD5(this.hashStr);
    console.log('MD5_hashStr', MD5_hashStr.toString());
    const SHA256_hashStr = CryptoJS.SHA256(this.hashStr);
    console.log('SHA256_hashStr', SHA256_hashStr.toString());
    const DES_hashStr = CryptoJS.DES.encrypt(
      this.hashStr,
      CryptoJS.enc.Utf8.parse("ABF"),// keyHex
      { 
        mode: CryptoJS.mode.ECB, 
        padding: CryptoJS.pad.Pkcs7 
      } // option
    ).ciphertext.toString();
    console.log('DES_hashStr', DES_hashStr);
    const DES_decrypt_hashStr = CryptoJS.DES.decrypt(
      {
        ciphertext: CryptoJS.enc.Hex.parse(DES_hashStr)
      },
      CryptoJS.enc.Utf8.parse("ABF"),// keyHex
      { 
        mode: CryptoJS.mode.ECB, 
        padding: CryptoJS.pad.Pkcs7
      } // option
    ).toString(CryptoJS.enc.Utf8);
    console.log('DES_decrypt_hashStr', DES_decrypt_hashStr);
  },
};
</script>



20210413171803580.png



目录
相关文章
|
24天前
|
机器学习/深度学习 人工智能 JavaScript
js和JavaScript
js和JavaScript
21 4
|
1月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
27 2
|
1天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
5天前
|
算法
Swiper库和Glide.js库的性能有何区别
Swiper和Glide.js是两个流行的响应式轮播图库。Swiper功能强大且灵活,支持多方向滑动,拥有丰富的配置和切换效果,适合复杂需求,其高性能得益于优化的算法和惰性加载。Glide.js则轻量级、快速,专注于基础功能,适合简洁需求。两者各有侧重,选择应基于项目具体需求和性能考虑。
|
23天前
|
JavaScript 前端开发
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
14 1
|
1月前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
1月前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
JavaScript中的`this`关键字根据执行上下文指向不同对象:全局作用域中指向全局对象(如`window`),普通函数中默认指向全局对象,但作为对象方法时指向该对象。在构造函数中,`this`指向新实例。箭头函数不绑定`this`,而是继承上下文的`this`值。可通过`call`、`apply`、`bind`方法显式改变`this`指向。
10 2
|
1月前
|
JSON JavaScript 前端开发
盘点3个可以操作JavaScript的Python库
盘点3个可以操作JavaScript的Python库
31 0
|
1月前
|
数据采集 JavaScript 前端开发
利用axios库在Node.js中进行代理请求的实践
利用axios库在Node.js中进行代理请求的实践
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 079 JavaScript 循环语句
编程笔记 html5&css&js 079 JavaScript 循环语句