cryptoJS
CryptoJS通俗的来讲是为了安全性,将前端传递到后端的参数加密
- 加密/解密方法(对称加密算法)
- AES 高级加密标准,是下一代的加密算法标准,速度快,安全级别高
- DES 数据加密标准,适用于大量数据加密
- TripleDES 是DES的增强版
- RC4 流加密算法,密钥长度可变
- HmacSHA1 键控哈希算法(密钥与消息数据混合)
1.加密
CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
CryptoJS.AES.decrypt(encryptedBase64Str, key, { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
注解:// encrypt加密 / decrypt解密
// srcs 加密的字符串
// key 密钥 值得注意的是密钥的长度,对称加密算法AES-128-CBC
算法,数据采用PKCS#7
填充 , 因此这里的key
需要为16位!
// iv 密钥偏移量
// mode 加密模式 【CBC ECB CFB OFB CTRGladman(CTR)】
// paddig 填充方式 【 NoPadding ZeroPadding Pkcs7(Pkcs5) Iso10126 Iso97971 AnsiX923 】 srcs值 有四种方法
let srcs = CryptoJS.enc.Utf8.parse(utf8String);
let srcs = CryptoJS.enc.Latin1.parse(latin1String);
let srcs = CryptoJS.enc.Hex.parse(hexString);
let srcs = CryptoJS.enc.Base64.parse(base64String);
encryptedBase64Str值 有四种方法
let encryptedBase64Str = CryptoJS.enc.utf8.stringify(encryptedHexStr);
let encryptedBase64Str = CryptoJS.enc.Latin1.stringify(latin1String);
let encryptedBase64Str = CryptoJS.enc.Hex.stringify(hexString);
let encryptedBase64Str = CryptoJS.enc.Base64.stringify(base64String);
可参考https://www.jianshu.com/p/a47477e8126a示例链接
github链接: https://github.com/brix/crypto-js
cryptoJS的更多相关文章
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- CryptoJS DES加密
<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equ ...
- CryptoJS遇到的小坑
CryptoJs是前端加密用的,具体介绍:http://code.google.com/p/crypto-js/ 对应国内免费CDN 服务:http://www.bootcdn.cn/crypto-j ...
- JS加密库Crypto-JS SEA加密
http://www.seacha.com/tools/aes.html 在该网站测试 CryptoJS有很多加密方式网上查阅后有 CryptoJS (crypto.js) 为 JavaScript ...
- [AngularJS + cryptoJS + Gravatar] Provider vs factory
Configurable Bits Need a Provider We want to be able to configure the characterLength before Tweetab ...
- cryptojs的使用
项目中经常会遇到加密解密的需求,这里有一个js库非常好用,就是crypto-js.下面记录一下使用方法. 首先,安装js库 npm install crypto-js --save 然后,在项目中使用 ...
- 使用crypto-js对数据进行AES加密、解密
前段时间做项目有用到数据加密,前端加密,后端解密(前端也可以解密),话不多说进入正题: 第一步: npm i crypto-js -S 第二步: 在需要加密或解密的地方引入crypto-js: imp ...
- 前端angular使用crypto-js进行加密
首先下载大包 npm install crypto-js 然后下载ts版本的包 npm install --save @types/crypto-js 接着在头部导入crypto-js模块 impor ...
- 前端加密传输 crypto-js AES 加密和解密
配置: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 16: vue + crypto-js + python前后端加密解密
1.1 vue中使用crypto-js进行AES加密解密 参考博客:https://www.cnblogs.com/qixidi/p/10137935.html 1.初始化vue项目 vue i ...
随机推荐
- SpringCloud入门之应用程序上下文服务(Spring Cloud Context)详解
构建分布式系统非常复杂且容易出错.Spring Cloud为最常见的分布式系统模式提供了简单易用的编程模型,帮助开发人员构建弹性,可靠和协调的应用程序.Spring Cloud构建于Spring Bo ...
- Linux 故障问题处理
一. Debian 网卡问题 原因: 网卡提示 Device Not Managed 处理方法: . 编辑/etc/NetworkManager/NetworkManager.conf: 将其 ...
- [NOIP2017赛前复习第二期]复赛考试技巧与模版-普及组
考试技巧 1.拿到考卷首先通看题目,按自己感觉的难度排序(普及一般是1-2-3-4了~还是相信出题人不会坑我们的2333) 2.一般来说,普及组前两道题比较简单(大水题啊233~),但是通常坑很多,例 ...
- 自动获取客户端的ip地址
document.writeln('<script src=\"http://pv.sohu.com/cityjson?ie=utf-8\"></script&g ...
- random shutil shevle xml
random 模块 import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3) ...
- MySQL5.7 并行复制的学习
MySQL 5.6 基于库级别的并行复制 MySQL5.6的并行复制是库(schema)级别的,从库为每个库(schema)分配一个线程以此来提高复制效率 在MySQL 5.6版本之前,Slave服务 ...
- Java基础面试题总结
目录 索引 Java基础知识篇 Java web基础知识总结 Java集合篇常见问题 Java基础知识篇 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较 ...
- MYSQL数据库常用操作命令
1.连接MYSQL: mysql -h 主机地址 -u 用户名 -p 2.修改密码: 安装后第一次登录使用: mysqladmin (因为没有初始密码) 修改原密码: mysqladmin -u ro ...
- Oracle 12 Rman增量备份
增量备份 增量备份主要作用是仅复制自上次备份以来已更改的数据块.您可以使用RMAN创建数据文件,表空间或整个数据库的增量备份. 将增量备份作为策略的一部分的主要原因是: 用于基于增量更新备份的策略,其 ...
- Scrum Meeting 合集
一.Alpha [Alpha]Scrum meeting 1 [Alpha]Scrum meeting 2 [Alpha]Scrum meeting 3 [Alpha]Scrum meeting 4 ...