在做项目的时候,要求base64加密传输,和java后端试了很多,就这个比较合适

  1. 首先先下包

    npm i crypto-js --save
  2. 封装
    import CryptoJS from "crypto-js";  //引入//约定密钥(与后端密钥保持一致)
    var key = CryptoJS.enc.Utf8.parse("qP2$bG9;vA0^uW0:");// 密钥16位长度字符   内容可自定义
    var IV = CryptoJS.enc.Utf8.parse("qP2$bG9;vA0^uW0:");//  密钥偏移量    16位长度字符/**
    * AES对称加密 (CBC模式,需要偏移量)
    * @param {Object} params 明文参数
    */
    export function encrypt(params){//明文参数   var str = CryptoJS.enc.Utf8.parse(params);//加密var encryptedData = CryptoJS.AES.encrypt(str, key, {iv:IV,mode: CryptoJS.mode.CBC, //AES加密模式  padding: CryptoJS.pad.Pkcs7 //填充方式});console.log("加密前:"+params);//加密前:QWEASDZXCconsole.log("加密后:"+encryptedData);//加密后:vlgQpBdfVvMplxwOTjxSyQ==  return CryptoJS.enc.Base64.stringify(encryptedData.ciphertext); //返回base64格式密文
    }
    /*** AES对称解密* @param {Object} params 加密参数*/
    export function decrypt(params){//base64格式密文转换var base64 = CryptoJS.enc.Base64.parse(params);var str = CryptoJS.enc.Base64.stringify(base64);//解密var decryptedData = CryptoJS.AES.decrypt(str, key, {iv:IV,mode: CryptoJS.mode.CBC, //AES加密模式  padding: CryptoJS.pad.Pkcs7 //填充方式});console.log("解密前:"+params);//解密前:vlgQpBdfVvMplxwOTjxSyQ==console.log("解密后:"+CryptoJS.enc.Utf8.stringify(decryptedData).toString());//解密后:QWEASDZXCreturn CryptoJS.enc.Utf8.stringify(decryptedData).toString(); //返回明文
    }
  3. 引入使用
    import {encrypt,decrypt} from './utils/cryptojs'encrypt('QWEASDZXC');//明文参数//解密处理
    decrypt("xaZ0L82AH081Q6Vu1mKLxA==");//加密参数

BASE64加密解密---前端 AES 加密解密相关推荐

  1. 0宽字符加密_前端AES加密方式分析,及其python实现

    在前端常见的加密方式中AES很少使用,因为相对于非对称的RSA安全性很低,AES是典型的对称加密,密钥就在前端源码里. 案列网站是http://ewt360.com,一个并不复杂的网站,首先抓个包看看 ...

  2. 使用AES加密进行前端加、解密

    什么是AES对称加密? 1.aes对称加密是最快速.简单的一种加密方式,加密(encryption).解密(decryption)使用的是同一套密钥(secret key): 2.aes(advanc ...

  3. DES加密解密与AES加密解密

    × 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...

  4. nodejs php aes加密解密,nodejs aes 加解密实例

    如下所示: 'use strict'; const crypto = require('crypto'); /** * AES加密的配置 * 1.密钥 * 2.偏移向量 * 3.算法模式CBC * 4 ...

  5. aes js 加盐值 解密_crypto-js aes加密解密

    安装 npm install crypto-js --save unit.js import CryptoJS from "crypto-js"; //秘钥 const CRYPT ...

  6. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  7. aes离线解密工具_如何在Python中解密OpenSSL AES加密文件?

    OpenSSL为AES加密提供了一种流行的(但不安全 - 见下文!)命令行界面: openssl aes-256-cbc -salt -in filename -out filename.enc Py ...

  8. aes 加密_PHP使用AES加密和解密

    php中文网最新课程 每日17点准时技术干货分享 AES加密在php5的版本中使用的mcrypt_decrypt 函数,该函数已经在php7.1后弃用了: 取而代之的是openssl的openssl_ ...

  9. php文件aes128解密工具,aes加密解密

    aes加密解密类 使用方法:$str = Aes:: encrypt(json_encode(array('111'=>'test')),$key); 文件:<?php class Aes ...

最新文章

  1. eclipse 操作HDFS时出现Permission denied的三个解决方法
  2. android 动画引擎,一个使用openGL渲染的炫丽Android动画库
  3. JBoss、Tomcat Classloader不完全分析
  4. Demo:基于 Flink SQL 构建流式应用
  5. zabbix setup.php出错,apache配置zabbix下setup.php无法显示
  6. 个人作业5——软件工程总结
  7. 基于JAVA+Spring+MYSQL的公共自行车管理系统
  8. 关于url传参中文乱码问题
  9. React学习(8)—— 高阶应用:不使用ES6、JSX实现React
  10. JAVA Pattern和Matcher 的用法
  11. Python-docx 读取word.docx内容
  12. 二分图的最大匹配--匈牙利算法
  13. 【不读唐诗,不足以知盛世】盛唐诗坛的璀璨明星们
  14. 嵌入式用HTTP请求下载bin文件
  15. 数值分析笔记 第一章 数值分析与科学计算引论
  16. Dinic算法简单笔记
  17. 全国大学生节能减排社会实践与科技竞赛最新作品模板资料国家三等奖分享
  18. GPS vs DGPS (差分GPS)
  19. 开奖及送福利|周日晚八点,红包雨任性下
  20. 天津互联网公司和生活成本

热门文章

  1. 遥感图像目标检测研究综述
  2. 解决idea环境gradle构建报错:Unrecognized option: --add-opens=java.base/java.util.concurrent.atom
  3. 简观《非常24小时》
  4. mysql汉字一二三四排序_文件夹名称有汉字一二三四五等,如何按数字大小顺序排列?...
  5. data fastboot 擦除_Fastboot 常用命令
  6. 负和、零和与正和(博弈论的诡计)
  7. k8s集群flannel问题之telnet node节点开放端口Connect timeout情况
  8. 强化学习DQN(Deep Q-Learning)、DDQN(Double DQN)
  9. 走进Linux 操作系统(ZT)
  10. zzulioj1126: 布尔矩阵的奇偶性