简单说说CryptoJS

  • • CryptoJS是什么?

    • • 在vue中如何使用CryptoJS?

      • • 步骤1:安装CryptoJS

      • • 步骤2:在Vue组件中引入CryptoJS

      • • 步骤3:使用CryptoJS进行加密操作

      • • 步骤4:使用CryptoJS进行解密操作

    • • CryptoJS常用操作

      • • 对称加密:

        • • AES 加密/解密

      • • 哈希函数:

        • • MD5 哈希

        • • SHA-1 哈希

        • • SHA-256 哈希

      • • HMAC(基于密钥的哈希函数):

        • • HMAC-MD5

        • • HMAC-SHA1

      • • Base64 编码/解码:

        • • Base64 编码

        • • Base64 解码

  • • 扩展 前端使用CryptoJS加密解密举例

    • • 安装crypto-js;

    • • 新建unit.js写成公共方法 ;

  • • 扩展:CryptoJS-中文文档

CryptoJS是什么?

简单说说CryptoJS

CryptoJS是一个流行的JavaScript加密库,用于提供各种加密算法的实现,包括MD5、SHA-1、SHA-256、AES等。

它可以帮助开发者在前端实现数据加密、解密和哈希等操作。

在vue中如何使用CryptoJS?

在Vue中使用CryptoJS可以通过以下步骤:

步骤1:安装CryptoJS

首先,在Vue项目中安装CryptoJS,你可以使用npm或者yarn来进行安装:

npm install crypto-js

或者

yarn add crypto-js

步骤2:在Vue组件中引入CryptoJS

在需要使用CryptoJS的Vue组件中,通过import语句引入需要的加密算法,例如:

import CryptoJS from 'crypto-js';

步骤3:使用CryptoJS进行加密操作

现在你可以在Vue组件中使用CryptoJS提供的加密算法进行加密操作,例如:

// 使用MD5对字符串进行加密
let encrypted = CryptoJS.MD5('Hello, CryptoJS!').toString();
console.log(encrypted);

步骤4:使用CryptoJS进行解密操作

如果需要解密数据,同样可以使用CryptoJS提供的相关算法进行解密操作。

需要注意的是,由于前端JavaScript环境的限制,一些高级的加密操作(如对称加密)可能需要在后端完成,前端只负责传输和展示加密数据。

以上是在Vue中使用CryptoJS的基本步骤。

更多详细内容,请微信搜索“前端爱好者, 戳我 查看 。

CryptoJS常用操作

CryptoJS 提供了一系列常用的加密和哈希算法,包括对称加密、哈希函数、消息认证码等。以下是 CryptoJS 中常用操作的一些示例:

对称加密:

AES 加密/解密

var ciphertext = CryptoJS.AES.encrypt('my message''secret key 123').toString();
var bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
var originalText = bytes.toString(CryptoJS.enc.Utf8);

哈希函数:

MD5 哈希

var hash = CryptoJS.MD5('Message');

SHA-1 哈希

var hash = CryptoJS.SHA1('Message');

SHA-256 哈希

var hash = CryptoJS.SHA256('Message');

HMAC(基于密钥的哈希函数):

HMAC-MD5

var hash = CryptoJS.HmacMD5("Message""Secret Passphrase");

HMAC-SHA1

var hash = CryptoJS.HmacSHA1("Message""Secret Passphrase");

Base64 编码/解码:

Base64 编码

var encoded = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse('Hello, World!'));

Base64 解码

var decoded = CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse('SGVsbG8sIFdvcmxkIQ=='));

以上是 CryptoJS 中一些常用的操作示例,该库还提供了更多的加密算法和功能,可以根据具体需求查阅官方文档或者相关资料进行深入学习和使用。

扩展 前端使用CryptoJS加密解密举例

简单说说CryptoJS

安装crypto-js;

npm install crypto-js --save-dev
yarn add crypto-js --dev

新建unit.js写成公共方法 ;

const CryptoJS = require('crypto-js');
//16位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)
const key = CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxx");
//16位十六进制数作为密钥偏移量(秘钥为随机生成,必须与后端保持一致!)
const iv = CryptoJS.enc.Utf8.parse('xxxxxxxxxxxxxx');

//加密方法
function Encrypt(word) {
  const data = JSON.stringify(word);
  const srcs = CryptoJS.enc.Utf8.parse(data);
  /**
   * CipherOption, 加密的一些选项:
   *   mode: 加密模式, 可取值(CBC, CFB, CTR, CTRGladman, OFB, ECB), 都在 CryptoJS.mode 对象下
   *   padding: 填充方式, 可取值(Pkcs7, AnsiX923, Iso10126, Iso97971, ZeroPadding, NoPadding), 都在 CryptoJS.pad 对象下
   *   iv: 偏移量, mode === ECB 时, 不需要 iv
   *     返回的是一个加密对象
   */

  let encrypted = CryptoJS.AES.encrypt(srcs, key, {
      iv: iv,
      modeCryptoJS.mode.CBC,
      paddingCryptoJS.pad.Pkcs7
  });
  //将结果进行base64加密
  return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
}



// aes解密
function decrypt(word) {
  const encryptedHexStr = CryptoJS.enc.Base64.parse(word);
  const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  const decrypt = CryptoJS.AES.decrypt(srcs, key, {
    iv: iv,
    modeCryptoJS.mode.CBC,
    paddingCryptoJS.pad.Pkcs7
  });
  const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  return decryptedStr.toString();
}

提供几个在线加密解密地址

MD5在线加密解密:https://www.sojson.com/md5/

AES在线加密解密 :https://www.mklab.cn/utils/aes

扩展:CryptoJS-中文文档

原始文档:https://code.google.com/archive/p/crypto-js/

详细介绍:https://www.cnblogs.com/huiguo/p/16601076.html


原文始发于微信公众号(前端爱好者):简单说说CryptoJS

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/267335.html

(0)
李, 若俞的头像李, 若俞

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!