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 相关文章推荐
IE中直接运行显示当前网页中的图片 推荐
Aug 31 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
vue使用xe-utils函数库的具体方法
Mar 06 Javascript
vue组件横向树实现代码
Aug 02 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 Javascript
Vue中遍历数组的新方法实例详解
Jul 21 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
Sep 29 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
javascript实现计算器功能详解流程
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
如何过滤高亮显示非法字符
2006/10/09 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python之list对应元素求和的方法
2018/06/28 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
初婚初育证明
2014/01/14 职场文书
医院节能减排方案
2014/06/13 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
毕业论文致谢信
2015/05/14 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
浅谈Python项目的服务器部署
2021/04/25 Python