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 相关文章推荐
js 模拟实现类似c#下的hashtable的简单功能代码
Jan 24 Javascript
js自动生成对象的属性示例代码
Oct 28 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
理解JavaScript的变量的入门教程
Jul 07 Javascript
javascript css红色经典选项卡效果实现代码
May 17 Javascript
微信小程序 教程之数据绑定
Oct 18 Javascript
js实现楼层导航功能
Feb 23 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
Vue中对比scoped css和css module的区别
May 17 Javascript
JavaScript常用事件介绍
Jan 21 Javascript
layer.alert回调函数执行关闭弹窗的实例
Sep 11 Javascript
vue全屏事件开发详解
Jun 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采集利器 Snoopy 试用心得
2011/07/03 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
JS 继承实例分析
2008/11/04 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python实现指定字符串补全空格的方法
2015/04/30 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python3实现表白神器
2019/04/09 Python
python程序 创建多线程过程详解
2019/09/23 Python
Python输出指定字符串的方法
2020/02/06 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
护理专业自荐书
2014/06/04 职场文书
捐书倡议书
2014/08/29 职场文书
公路施工安全责任书
2015/05/08 职场文书
廉洁自律证明
2015/06/24 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书