欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

angular使用md5,CryptoJS des加密的方法

程序员文章站 2022-03-20 14:59:21
在业务系统中,通常需要对用户的密码进行加密,再时行http的请求。加强系统登录的安全验证。 常用的加密方式有md5, base64, cryptojs的 aes des等...

在业务系统中,通常需要对用户的密码进行加密,再时行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:

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); 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。