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 相关文章推荐
小议Function.apply() 之一------(函数的劫持与对象的复制)
Nov 30 Javascript
用js实现手把手教你月入万刀(转贴)
Nov 07 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
JavaScript判断是否为数组的3种方法及效率比较
Apr 01 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
Apr 29 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
vue 实现通过手机发送短信验证码注册功能
Apr 19 Javascript
ES6顶层对象、global对象实例分析
Jun 14 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 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
BBS(php & mysql)完整版(七)
2006/10/09 PHP
逐步提升php框架的性能
2008/01/10 PHP
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
老生常谈Python进阶之装饰器
2017/05/11 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python中id函数运行方式
2020/07/03 Python
python 如何将office文件转换为PDF
2020/09/22 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
安全生产责任书
2014/03/12 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
车辆挂靠协议书
2016/03/23 职场文书
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS