crypto-js:加密标准的JavaScript库

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 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



目录
相关文章
|
29天前
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
104 48
|
25天前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
28天前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
28天前
|
CDN
如何在项目中使用Moment.js库?
如何在项目中使用Moment.js库?
|
29天前
|
JavaScript 前端开发
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
|
29天前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
34 1
|
1月前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
28天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
JavaScript 前端开发 数据安全/隐私保护
|
JavaScript 前端开发 网络协议
JavaScript加密解密7种方法
from:baiker 本文一共介绍了七种javascript加密方法:  在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^  但我们也应该清楚地认识到因为javascript代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能的增大拷贝者复制的难度,让他知难而退(但愿~!~),下面我结合自己这几年来的实践,及个人研究的心得,和大家一起来探讨一下网页中javascript代码的加密解密技术。
1551 0
下一篇
DataWorks