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 相关文章推荐
javascript document.images实例
May 27 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
Javascript 颜色渐变效果的实现代码
Oct 01 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
JQuery中的事件及动画用法实例
Jan 26 Javascript
跟我学习javascript的arguments对象
Nov 16 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
详解Node.js access_token的获取、存储及更新
Jun 20 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
Jul 06 Javascript
js时间戳与日期格式之间相互转换
Dec 11 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
js取0-9随机取4个数不重复的数字代码实例
Mar 27 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
VFP与其他应用程序的集成
2006/10/09 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
javascript一些不错的函数脚本代码
2008/09/10 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python import用法以及与from...import的区别
2015/05/28 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
简单了解python列表和元组的区别
2020/05/14 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
教师推荐信范文
2013/11/24 职场文书
给儿子的表扬信
2014/01/15 职场文书
求职信格式要求
2014/05/23 职场文书
后备干部推荐材料
2014/12/24 职场文书
springcloud整合seata
2022/05/20 Java/Android