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 相关文章推荐
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
Sortable.js拖拽排序使用方法解析
Nov 04 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
微信小程序 后台登录(非微信账号)实例详解
Mar 31 Javascript
详解VUE 定义全局变量的几种实现方式
Jun 01 Javascript
基于input动态模糊查询的实现方法
Dec 12 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
vue中轮训器的使用
Jan 27 Javascript
js比较两个单独的数组或对象是否相等的实例代码
Apr 28 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 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的优缺点
2015/07/14 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
快速使用node.js进行web开发详解
2017/04/26 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
vue如何根据网站路由判断页面主题色详解
2018/11/02 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
Python转换时间的图文方法
2019/07/01 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
计算机专业毕业生求职信分享
2013/12/24 职场文书
办公室前台岗位职责
2014/01/04 职场文书
捐书寄语赠言
2014/01/18 职场文书
身边的榜样活动方案
2014/08/20 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server