angular使用md5,CryptoJS des加密

在業務系統中,一般須要對用戶的密碼進行加密,再時行http的請求。增強系統登陸的安全驗證。javascript

經常使用的加密方式有MD5, Base64, CryptoJS的 AES DES等。下面介紹我經常使用的幾種加密方法的使用:java

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/crypt...git

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一致。github

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); 
}
相關文章
相關標籤/搜索