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 相关文章推荐
dreamweaver 安装Jquery智能提示
Apr 02 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
Jun 12 Javascript
微信小程序 数组中的push与concat的区别
Jan 05 Javascript
Vue from-validate 表单验证的示例代码
Sep 26 Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 Javascript
详解redux异步操作实践
Aug 15 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
vue-router启用history模式下的开发及非根目录部署方法
Dec 23 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
layer实现弹出层自动调节位置
Sep 05 Javascript
详解Vue 的异常处理机制
Nov 30 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
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
js常见表单应用技巧
2008/01/09 Javascript
js获取提交的字符串的字节数
2009/02/09 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
JS中的phototype详解
2017/02/04 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
物理课外活动总结
2014/08/27 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
三潭印月的导游词
2015/02/12 职场文书
教师党员自我评价2015
2015/03/04 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
无线电知识基础入门篇
2022/02/18 无线电
nginx共享内存的机制详解
2022/03/21 Servers
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle