好懒呀,简单记录下吧
- 在如今互联网时代 各种数据信息铺天盖地,我们该如何保证自己的信息安全呢?
- 首先用户自己不外露自己的重要信息
- 用户使用的各种软件也要对用户重要信息进行加密保护处理
项目开饭中(做个干饭人)对于信息加密的方式有很多种
简单记录下我使用的两种情况
- 在处理用户注册信息时,需要做加密处理
- 使用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);
- 工程化项目
- 首先安装 npm install crypto-js
- 引入 import CryptoJS from “crypto-js”;
- 安装上面的方式 封装自己的方法即可
jsencrypt 做RSA加密解密字符串
- 安装 npm install jsencrypt
- 引入 import JSEncrypt from ‘jsencrypt’;
- 使用如下
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;
}
}
他人优秀的博文参考: