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页面刷新与弹出窗口问题的解决方法
Mar 02 Javascript
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
Apr 26 Javascript
js字符串截取函数slice、substring和substr的比较
May 17 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
angular学习之动态创建表单的方法
Dec 07 Javascript
详解mpvue实现对苹果X安全区域的适配
Jul 31 Javascript
微信小程序pinker组件使用实现自动相减日期
May 07 Javascript
Vite + React从零开始搭建一个开源组件库
Jun 25 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
浅析return false的正确使用
2013/11/04 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
python实现冒泡排序算法的两种方法
2018/03/10 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
《湘夫人》教学反思
2014/02/21 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
八项规定整改方案
2014/10/01 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
消防演习通知
2015/04/25 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
新学期开学寄语2016
2015/12/04 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
Go语言编译原理之源码调试
2022/08/05 Golang