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可以控制样式的名称写法一览
Jan 16 Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
Aug 02 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
jQuery tip提示插件(实例分享)
Apr 28 jQuery
JS实现的input选择图片本地预览功能示例
Aug 29 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
微信小程序进入广告实现代码实例
Sep 19 Javascript
JavaScript进制转换实现方法解析
Jan 18 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 Javascript
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
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
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
微信小程序实现点赞业务
2021/02/10 Javascript
Python中的两个内置模块介绍
2015/04/05 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python识别html主要文本框过程解析
2020/02/18 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
电气专业应届生求职信
2013/11/01 职场文书
店长岗位的工作内容
2013/11/12 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
2014年优秀党员材料
2014/12/18 职场文书
校长新学期致辞
2015/07/30 职场文书
JavaScript原型链详解
2021/11/07 Javascript
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏