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 相关文章推荐
对YUI扩展的Gird组件 Part-2
Mar 10 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
Jan 31 Javascript
input:checkbox多选框实现单选效果跟radio一样
Jun 16 Javascript
js使用递归解析xml
Dec 12 Javascript
jquery中change()用法实例分析
Feb 06 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
JS数组去重(4种方法)
Mar 27 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
vue router动态路由设置参数可选问题
Aug 21 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 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
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
详解vue高级特性
2020/06/09 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
《Python学习手册》学习总结
2018/01/17 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
详解python中的Turtle函数库
2018/11/19 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
python游戏开发的五个案例分享
2020/03/09 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
电子专业推荐信范文
2013/11/18 职场文书
工艺工程师工作职责
2013/11/23 职场文书
顶撞老师检讨书
2014/02/07 职场文书
付款委托书范本
2014/04/04 职场文书
学校食堂标语
2014/10/06 职场文书
创业计划书之酒吧
2019/12/02 职场文书
windows系统搭建WEB服务器详细教程
2022/08/05 Servers