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 DOM学习第四章 getElementByTagNames
Feb 19 Javascript
jquery each的几种常用的使用方法示例
Jan 21 Javascript
JS的事件绑定深入认识
Jun 26 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
Dec 14 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
Dec 05 Javascript
vue实现计步器功能
Nov 01 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引用地址改变变量值的问题
2012/03/23 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
PHP 实现链式操作
2021/03/09 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
解析javascript图片懒加载与预加载的分析总结
2016/10/27 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
python Django连接MySQL数据库做增删改查
2013/11/07 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
艺术设计专业求职自荐信
2014/05/19 职场文书
求职信的正确写法
2014/07/10 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
代收款委托书范本
2014/10/01 职场文书
2014年共青团工作总结
2014/12/10 职场文书
先进单位申报材料
2014/12/25 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers