DES和RSA数据加密

好懒呀,简单记录下吧

  • 在如今互联网时代 各种数据信息铺天盖地,我们该如何保证自己的信息安全呢?
    • 首先用户自己不外露自己的重要信息
    • 用户使用的各种软件也要对用户重要信息进行加密保护处理
项目开饭中(做个干饭人)对于信息加密的方式有很多种

简单记录下我使用的两种情况

  1. 在处理用户注册信息时,需要做加密处理
    • 使用DES和RSA做数据加密;
    • 老项目使用的是 DES 加密 固定密钥,安全度相对于另一种较低

使用crypto-js 做DES加解密

  • 使用方式有很多种 可以script 引入 (我们老项目如此)
    版本更新了示例的使用方式可能有变化
  • 在这里插入图片描述
//  DES加密
    function encryptByDES(msg, key){
        var keyHex = CryptoJS.enc.Utf8.parse(key);
        var encrypted = CryptoJS.DES.encrypt(msg, keyHex, {
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        });
        return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
    }
    // 加密密钥
    var key = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
    // 加密数据
    var _msg = xxx;//需要加密的数据
    _message= encryptByDES(_msg , key);
    $('.msg').val(_message);
  • 工程化项目
    1. 首先安装 npm install crypto-js
    2. 引入 import CryptoJS from “crypto-js”;
    3. 安装上面的方式 封装自己的方法即可

jsencrypt 做RSA加密解密字符串

  1. 安装 npm install jsencrypt
  2. 引入 import JSEncrypt from ‘jsencrypt’;
  3. 使用如下
import JSEncrypt from 'jsencrypt';
// msg需要加密数据 key 密钥
// 加解密 是一对密钥 项目中使用时 采用调用接口获取密钥
export default {
  encrypt(msg,key){
      var encrypt = new JSEncrypt();
      encrypt.setPublicKey(key);
      var encryptMsg = encrypt.encrypt(msg);
      return encryptMsg;
  
  },
  decrypt(msg,key){
      var decrypt = new JSEncrypt();
      decrypt.setPrivateKey(key);
      var decryptMsg = decrypt.decrypt(msg);
      return decryptMsg;
  }
}

他人优秀的博文参考:

  1. cryptojs 加解密以及记住密码

  2. jsencrypt加密解密字符串

  3. DES和RSA简介

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值