前端使用crypto.js进行加密的函数代码

crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。

可以在这个GitHub的https://github.com/brix/crypto-js上下载该js,它可以单独引入所需要加密方式的js;也可以引入一个crypto-js.js 这个文件,它相当于引入了所有的加密方式,我使用的就是后者一次引入所有的加密文件,这个文件也不是很大,还可以接受。

因为我的需求是加密可逆,具有一定的安全性(对安全性要求不高),所以使用DES或AES即可,我用的是AES:

function getAesString(data,key,iv){//加密
  var key = CryptoJS.enc.Utf8.parse(key);
  var iv  = CryptoJS.enc.Utf8.parse(iv);
  var encrypted =CryptoJS.AES.encrypt(data,key,
    {
      iv:iv,
      mode:CryptoJS.mode.CBC,
      padding:CryptoJS.pad.Pkcs7
    });
  return encrypted.toString();  //返回的是base64格式的密文
}
function getDAesString(encrypted,key,iv){//解密
  var key = CryptoJS.enc.Utf8.parse(key);
  var iv  = CryptoJS.enc.Utf8.parse(iv);
  var decrypted =CryptoJS.AES.decrypt(encrypted,key,
    {
      iv:iv,
      mode:CryptoJS.mode.CBC,
      padding:CryptoJS.pad.Pkcs7
    });
  return decrypted.toString(CryptoJS.enc.Utf8);
}

function getAES(data){ //加密
  var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密钥
  var iv  = '1234567812345678';
  var encrypted =getAesString(data,key,iv); //密文
  var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted);
  return encrypted;
}

function getDAes(data){//解密
  var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密钥
  var iv  = '1234567812345678';
  var decryptedStr =getDAesString(data,key,iv);
  return decryptedStr;
}

key和iv我们都可以更换,但是需要保证的是加解密的key和iv保持一致

到此这篇关于前端使用crypto.js进行加密的函数代码的文章就介绍到这了,更多相关crypto.js加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JS加密插件CryptoJS实现AES加密操作示例

    本文实例讲述了JS加密插件CryptoJS实现AES加密操作.分享给大家供大家参考,具体如下: 最近在做一个项目,考虑到数据的安全性,我们要给数据在传输过程中加密,防止一些恶意的操作以及爬虫抓取数据. 用到的库:CryptoJS 官方地址:https://code.google.com/archive/p/crypto-js/ 首先看看这个CryptoJS的目录结构 主要是两个文件夹,components和rollups 第一个是组件,第二个是汇总. 在汇总文件夹中的文件是在组件一个或多个文件夹

  • JS加密插件CryptoJS实现的DES加密示例

    本文实例讲述了JS加密插件CryptoJS实现的DES加密.分享给大家供大家参考,具体如下: 前面一篇<JS加密插件CryptoJS实现AES加密操作>介绍了CryptoJS插件的简单配置与使用,这里再来看看CryptoJS实现DES加密的方法: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type

  • node.js之基础加密算法模块crypto详解

    crypto作为nodeJS已经稳定下来的模块在整个node中具有举足轻重的地位,一切app都需要加密解密,那么crypto就是一个提供加密功能的模块.在这个模块中已经打包了OpenSSL hash, HMAC(哈希信息验证码),cipher(加密),decipher(解密),sign(签名)以及verify(验证)的功能. 加密算法crypto 我很难想象在php里面md5加密只是三个字符的一个方法而已,在node.js中没封装前竟然那么长!! 无法反编译的加密方式 话不多说直接上代码品鉴吧

  • JavaScript实现的前端AES加密解密功能【基于CryptoJS】

    本文实例讲述了JavaScript实现的前端AES加密解密功能.分享给大家供大家参考,具体如下: js前端AES加密 最近由于项目需求做了一次MITM,突然即使发现使用HTTPS,也不能保证数据传输过程中的安全性. 通过中间人攻击,可以直接获取到Http协议的所有内容. 于是开始尝试做一些简单的加密,在一定程度上保证安全性. 本次采用AES加密数据,所以客户端和服务端使用的相同秘钥.(仅作为演示,正式环境推荐使用RSA) 首先准备一份明文密码和加密使用的KEY var source = "ABC

  • NodeJs crypto加密制作token的实现代码

    Node.js 内置的 Crypto 库 ,它提供各种加密算法,可以非常方便地让我们使用密码技术,解决应用开发中的问题.主要支持 hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及 verify(验证)等.crypto 英文原意就是秘密成员的意思. 使用方法大概如下: crypto.createHash(algorithm) 指定使用的加密方式 var crypto = require("crypto");//加密 crypto

  • NODE.JS加密模块CRYPTO常用方法介绍

    使用require('crypto')调用加密模块. 加密模块需要底层系统提供OpenSSL的支持.它提供了一种安全凭证的封装方式,可以用于HTTPS安全网络以及普通HTTP连接. 该模块还提供了一套针对OpenSSL的hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及verify(验证)等方法的封装. crypto.createCredentials(details) 创建一个凭证对象,可选参数details为一个带键值的字典: key

  • JS使用插件cryptojs进行加密解密数据实例

    本文实例讲述了JS使用插件cryptojs进行加密解密数据.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Testing websoc

  • JS加密插件CryptoJS实现的Base64加密示例

    本文实例讲述了JS加密插件CryptoJS实现的Base64加密.分享给大家供大家参考,具体如下: 前面一篇<JS加密插件CryptoJS实现的DES加密>介绍了CryptoJS插件进行DES加密操作的方法,这里再来介绍一下CryptoJS进行base64加密的方法: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title>

  • nodejs加密Crypto的实例代码

    加密技术通常分为两大类:"对称式"和"非对称式". 对称式加密: 就是加密和解密使用同一个密钥,通常称之为"Session Key "这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的"对称式"加密法,它的Session Key长度为56bits. 非对称式加密: 就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用

  • VueJs里利用CryptoJs实现加密及解密的方法示例

    第一步 安装 安装crypto-js 第二步 创建 在js文件目录下创建一个js文件secret /** * 对页面上输入的密码进行加密传输给后台进行验证,对返回的数据进行解密,在页面展示 */ let CryptoJS = require('crypto-js'); // 引入AES源码js export default { /* * 对密码进行加密,传输给后台进行验证 * @param {String} word 需要加密的密码 * @param {String} keyStr 对密码加密的

随机推荐