angular使用md5,CryptoJS des加密的方法


Posted in Javascript onJune 03, 2019

在业务系统中,通常需要对用户的密码进行加密,再时行http的请求。加强系统登录的安全验证。

常用的加密方式有MD5, Base64, CryptoJS的 AES DES等。下面介绍我常用的几种加密方法的使用:

MD5加密

1. 安装模块 ts-md5

$ npm install ts-md5 --save

2. 使用md5进行加密

import { Md5 } from 'ts-md5';
// ...

// 密码
password: string = "12345";

// 加密方法 - md5加密
decode() {
  const passwordMd5 = Md5.hashStr(this.password).toString(); // 结果:827ccb0eea8a706c4c34a16891f84e7b
}

Base64加密

1.安装模块 js-base64

$ npm install js-base64 --save

2.使用md5进行加密

import { Base64 } from 'js-base64';
// ...

// 密码
password: string = "12345";

// 加密方法 - Base64加密
decode() {
  const passwordBase64 = Base64.encode(password); // 结果:MTIzNDU=
}

DES加密

DES对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥key,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),是一种对称加密算法。

crypto-js Github: https://github.com/brix/crypto-js

1.安装模块 crypto-js

$ npm install crypto-js --save

2.使用DES进行加密

import CryptoJS from 'crypto-js';
// ...

// 密钥
key: string = "abcdefg";
// 密码
password: string = "12345";

// 加密方法 - des加密
decode() {
  // key编码 
  const keyHex = CryptoJS.enc.Utf8.parse(this.key);
  console.log(keyHex.toString()); // 结果:61626364656667
  // 加密
  const passwordDES = CryptoJS.DES.encrypt(this.password, keyHex, {
   mode: CryptoJS.mode.ECB,
   padding: CryptoJS.pad.Pkcs7
  }).toString();
  console.log(passwordDES); // 结果:zYGeIdaZpEM=
}

3. 使用AES进行加密

加密用法基本与des一致。

import CryptoJS from 'crypto-js';
// ...

// 密钥
key: string = "abcdefg";
// 密码
password: string = "12345";

// 加密方法 - des加密
decode() {
  // 加密
  const passwordDES = CryptoJS.AES.encrypt(this.password, this.key).toString();
  console.log(passwordDES); 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
GRID拖拽行的实例代码
Jul 18 Javascript
jquery等宽输出文字插件使用介绍
Sep 18 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
Jun 29 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
Dec 28 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
Jul 17 Javascript
Node.js 的 GC 机制详解
Jun 03 #Javascript
微信小程序蓝牙连接小票打印机实例代码详解
Jun 03 #Javascript
react-native滑动吸顶效果的实现过程
Jun 03 #Javascript
vue-cli 3 全局过滤器的实例代码详解
Jun 03 #Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 #Javascript
使用RxJS更优雅地进行定时请求详析
Jun 02 #Javascript
Vue CLI3基础学习之pages构建多页应用
Jun 02 #Javascript
You might like
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
二招解决php乱码问题
2012/03/25 PHP
深入分析php之面向对象
2013/05/15 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
Python 制作糗事百科爬虫实例
2016/09/22 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
python str字符串转uuid实例
2020/03/03 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
三分钟演讲稿范文
2014/04/24 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
初中军训感想
2015/08/07 职场文书
公开致歉信
2019/06/24 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python