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 兼容各个浏览器的事件
Feb 04 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
Aug 01 Javascript
js实现文字滚动效果
Mar 03 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
vue.js 上传图片实例代码
Jun 22 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
深入解析koa之中间件流程控制
Jun 17 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数组最大值,最小值的代码
2011/10/31 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
女方回门宴答谢词
2014/01/14 职场文书
户外婚礼策划方案
2014/02/08 职场文书
《荷花》教学反思
2014/04/16 职场文书
会计求职信范文
2014/05/24 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
同学聚会邀请函
2015/01/30 职场文书
学生会工作感言
2015/08/07 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
HttpClient实现文件上传功能
2022/08/14 Java/Android