美文网首页
angular4AES加密和解密、RSA加密和MD5签名

angular4AES加密和解密、RSA加密和MD5签名

作者: zyanfly | 来源:发表于2019-05-21 14:40 被阅读0次

废话不多说,上干货(本文不涉及后端)

AES加密

AES 在密码学中又称 Rijndael 加密法,用来替代原先的 DES,已经被多方分析且广泛使用。
在部分websocket的通讯中为了防止用户的聊天内容被窃取,采用了AES加密
使用npm安装crypto-js

npm install crypto-js --save

创建一个加密服务:

// crypto.service.ts
import { Injectable } from '@angular/core';
import * as Crypto from "crypto-js";

@Injectable()
export class CryptoService {
  private key: string;
  constructor() {
    this.key = Crypto.enc.Latin1.parse('秘钥');
    this.iv = Crypto.enc.Latin1.parse('秘钥偏移量')
  }

  /**
   * AES加密
   * @param {Object} data 加密对象
   * @description 用于对ws通讯内容的加密
   * @return {String} 加密后的字符串
   */
  encrypt(data){
    let res = Crypto.AES.encrypt(JSON.stringify(data), this.key, {
      iv: this.iv,
      mode: Crypto.mode.CBC,
      padding: Cryto.pad.Pkcs7
    }).toString();
    return res;
  }

  /**
   * AES解密
   * @param {String} data 解密对象
   * @description 用于对ws通讯内容的解密
   * @return {String} 解密后的对象字符串,可用JSON转为对象
   */
  decrypt(data) {
    let res = Crypto.AES.decrypt(data, this.key, {
      iv: this.iv,
      mode: Crypto.mode.CBC,
      padding: Crypto.pad.Pkcs7
    })
    return Crypto.enc.Utf8.stringify(res);
  }
}

在使用到的组件中,可以直接import此服务使用加密和解密功能了。

MD5签名

MD5签名主要作用是验证数据的一致性,确保这个数据是你真正的用户发送的,而非伪造的数据

npm install ts-md5 --save

在上面的服务中引入

import { Md5 } from 'ts-md5/dist/md5';
// 使用
sign = Md5.hashStr('需要签名的数据'+md5Key);

使用MD5签名后得出一段字符串,可以拼接在数据文本后面或者其他方式传送给后台用于验签

RSA加密

npm install jsrsasign --save
import jsrsasign from 'jsrsasign';

/**
   * RSA加密、签名
   * @param data 加密字符串
   * @return {String} string,加密后的base64格式字符串
   */
rsaEncrypt(data){
  let enc, base64Sign;
  let rsa = new jsrsasign.RSAKey();
  rsa = jsrsasign.KEYUTIL.getKey(this.publicKey)
  enc = jsrsasign.KJUR.crypto.Cipher.encrypt(data, rsa);
  base64Sign = jsrsasign.hextob64(enc);
  return base64Sign;
}

相关文章

  • C# RSA加解密和MD5加密

    1.RSA加密 2.RSA解密 3.RSA签名 RSA签名验签 4.MD5加密

  • angular4AES加密和解密、RSA加密和MD5签名

    废话不多说,上干货(本文不涉及后端) AES加密 AES 在密码学中又称 Rijndael 加密法,用来替代原先的...

  • RSA加密算法

    RSA加解密、签名验签過程 RSA加密是一种非对称加密,通常使用公钥加密,私钥解密,私钥签名,公钥验签。私钥是個人...

  • 加密相关

    公钥加密 私钥解密 ,私钥加密,公钥验证(签名) HTTPS -- AFSecurityPolicy RSA ...

  • iOS加密方式:RSA DES MD5

    最近用到了信息安全加密,主要用到了RSA DES MD5 MD5:加密后不可逆(只能加密不可解密),我们用于加密用...

  • 常用的加密

    加密 RSA MD5 SHA-1 DES 3DES RSA RSA是一种非对称加密算法(公钥加密,私钥解密)。对极...

  • 4.加密函数编写

    加密算法分类: md5系列加密 ,哈希算法类型 aes加密对称加密,加密/解密是一个密钥 rsa加密 非对称加密,...

  • 加密

    哈希,md5 RSA 公钥加密私钥解密,私钥加密公钥解密 数据大,效率低,银行等用

  • 计算机安全学第四次实践作业

    1.Python实现RSA算法的加密、解密、签名/验证签名 1.1生成秘钥 1.2加密 1.3解密 1.4数字签名...

  • java 加密解密帮助类

    一、MD5帮助类 二、AES加解密工具类 三、RSA加密解密类

网友评论

      本文标题:angular4AES加密和解密、RSA加密和MD5签名

      本文链接:https://www.haomeiwen.com/subject/unxjzqtx.html