简单记录一下,前端利用 cryptoJS 如何加解密的。主要是关于 AES 加解密。

需求描述:需要对 url 中的参数进行 AES 解密,然后再把该参数进行 MD5 加密通过接口传递。

AES

AES:对称加密。加解密的双方使用同一个秘钥。秘钥不能在网络中传输,避免被拦截。如果要传输,必须要对秘钥进行非对称加密再加密一次。

对称加密,比非对称加密速度快。

算法理解篇可参考(个人认为还是非常详细的):AES加密算法的详细介绍与实现

在实现的时候,由于AES加密的方式很多,所以需要先商量并确定好采用的 AES 的 vi (初始变量)、key(秘钥)、mode(加密模式)、padding(填充方式)。这样在实现多端加解密的时候才都正确。

AES.js

import CryptoJS from 'crypto-js'

const key = 'aaaabbbbccccdddd'

const iv = '1234567887654321'

// 加密

function Encrypt (text) {

return CryptoJS.AES.encrypt(text, CryptoJS.enc.Utf8.parse(key), {

iv: CryptoJS.enc.Utf8.parse(iv),

mode: CryptoJS.mode.CBC,

padding: CryptoJS.pad.Pkcs7

}).toString()

}

// 解密

function Decrypt (text) {

let decrypted = CryptoJS.AES.decrypt(text, CryptoJS.enc.Utf8.parse(key), {

iv: CryptoJS.enc.Utf8.parse(iv),

mode: CryptoJS.mode.CBC,

padding: CryptoJS.pad.Pkcs7

})

return decrypted.toString(CryptoJS.enc.Utf8)

}

export default {

Encrypt,

Decrypt

}

使用:

let text = AES.Encrypt('123')

console.log(text)

console.log(AES.Decrypt(text))

MD5

MD5,不可逆,只能加密,不能解密哦。

import CryptoJS from 'crypto-js';

CryptoJS.MD5('123').toString();

关于 crypto.js

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

aes js 加盐值 解密_cryptoJS AES 加解密简单使用相关推荐

  1. 浅谈MD5加密算法中的加盐值(SALT)

    我们知道,如果直接对密码进行散列,那么***可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法, ...

  2. MD5加密算法中的加盐值 ,和彩虹表攻击 防止彩虹表撞库

    一.什么是彩虹表? 彩虹表(Rainbow Tables)就是一个庞大的.针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码.越是复 ...

  3. 5 加盐_洗猪肚,加盐洗就错了!加这2样,5分钟洗净,猪肚不腥不臊更入味

    它是猪身上最好吃的部位.虽然有些贵,但是很多人却爱不完,它就是猪肚.猪肚是猪的胃,猪肚中含有大量的钙.钾.钠.镁.铁等元素和维生素A.维生素E.蛋白质.脂肪等成分,具有补虚损,健脾胃的作用.猪肚的经典 ...

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

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

  5. java加盐_Java中MD5加密加盐算法

    前俩天项目组需要做一个密码的加密加盐操作,无意中在网上看到一个对应的加密加盐算法,特意在此做一个记录 import java.security.MessageDigest; import java.u ...

  6. md5 加盐原理和常用的加盐方法

    现在的MD5密码数据库的数据量已经非常庞大了,大部分常用密码都可以通过MD5摘要反向查询到密码明文.为了防止内部人员(能够接触到数据库或者数据库备份文件的人员)和外部入侵者通过MD5反查密码明文,更好 ...

  7. aes js 加盐值 解密_Java已有AES加解密,现需要前端Javascript加密调接口,返回的数据需要解密,目前互..._慕课猿问...

    目前Javascript使用'crypto-js'包. 前后台可以自己跑通加解密,但是,无法互通. 针对对象{}加密--网上的方案,已经尝试了4天左右了,还没成功,请指导. 无思路,无报错. Java ...

  8. mysql md5 加盐加密_MD5—加密,加盐

    packagecom.demo.tools;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException ...

  9. 对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密

    RSA和AES结合使用 接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网 ...

最新文章

  1. 零基础学习JavaSE(一)
  2. 大众点评新一轮融资超8亿美元,弥补腾讯O2O短板
  3. windows镜像_什么是windows镜像?什么是Ghost?它们有什么优缺点?
  4. 四部门联合约谈蚂蚁集团有关人员;苹果11月11日再开发布会;树莓派 400 发布|极客头条
  5. 撤销工作表保护原密码_批量解除工作表保护,和批量执行保护一样简单
  6. php对接易宝支付实现真实交易
  7. 自动控制原理学习笔记(五)
  8. 【Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64】 解决方法
  9. 千篇一律的秃顶,各有各的顽皮,1组图让你了解程序员的可爱
  10. 笔记本摄像头计算机,如何解决笔记本电脑摄像头异常问题
  11. plot画图颜色设置
  12. Android系统默认Home应用程序 Launcher 的启动过程源代码分析
  13. 2022 CCF中国软件大会(CCF Chinasoft)“面向人工智能的边缘计算技术”论坛成功召开...
  14. java自定义标签库的开发
  15. 才发现网易相册已于2019年5月8号停止运营,如何导出相册照片:http://photo.163.com/transfer/html/login , 使用相册帐号登录,提供真实姓名、手机号码
  16. Android——透明色
  17. oracle增加表空间文件
  18. 学计算机专业独立显卡有必要吗,独立显卡有什么用
  19. 巴塞罗那WASM IO大会
  20. 华为 android 5.0系统下载地址,华为emui5.1

热门文章

  1. 从代码到上线, 云端Docker化持续交付实践
  2. 在centos 6.5下安装svn (Subversion)
  3. 数据仓库专题19-数据建模语言Information Engineering - IE模型(转载)
  4. SQL纯手写创建数据库到表内内容
  5. Markdown 调整图片位置与大小
  6. C++引用计数(reference counting)技术简介(2)
  7. (六)Redis集群搭建
  8. JavaScript 怎么合并两个JSON,并覆盖重复键
  9. 【线段树】 SPOJ 2713 Can you answer these queries IV
  10. python3 selenium ie 拒绝连接报错_python Selenium权限错误:[WinError 5]访问被拒绝