VUE加解密MD5、RSA(分段)、AES(SHA1PRNG)

最近VUE项目需要用到MD5和RSA加密,废话不多说

md5方法:  使用 crypto-js

1 安装: npm install crypto-js

2 引用: import CryptoJS from 'crypto-js'

3 加密: let md5 = CryptoJS.MD5("test").toString();

RSA方法: 使用 jsencrypt

1 安装: npm install jsencrypt

2 引用: import JsEncrypt from 'jsencrypt'

3 加密: 
    let jsEncrypt= new JsEncrypt();
    jsEncrypt.setPublicKey(PUBLIC_KEY); // 设置 加密公钥
    let signature = jsEncrypt.encrypt(data); // 进行加密

4 解密:
    let jsEncrypt= new JsEncrypt();
    jsEncrypt.setPrivateKey(prikey); // 设置私钥
    let str = jsEncrypt.decrypt(signature);

RSA分段加解密方法: 使用 encryptlong

1 安装: npm install encryptlong

2 引用: import EncryptLong from 'encryptlong'

3 加密: 
    let encryptor = new EncryptLong();
    encryptor.setPublicKey(PUBLIC_KEY); // 设置 加密公钥
    let signature = encryptor.encryptLong(data);  // 进行加密

4 解密:
    let encryptor = new EncryptLong();
    encryptor.setPrivateKey(PRIVATE_KEY);  // 设置私钥
    let str = encryptor.decryptLong(signature);

AES方法:使用 crypto-js

加密:
     // 转换秘钥
    let realKey = CryptoJS.SHA1(SECRET_KEY);
    realKey = CryptoJS.SHA1(realKey).toString().substring(0, 32); //真正的key

    let message = JSON.stringify(data);
    let key =  CryptoJS.enc.Hex.parse(realKey);
    let srcs = CryptoJS.enc.Utf8.parse(message);
    let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    let cipherText = encrypted.toString();


解密:
    // 转换秘钥
    let realKey = CryptoJS.SHA1(SECRET_KEY);
    realKey = CryptoJS.SHA1(realKey).toString().substring(0, 32); //真正的key
    let key = CryptoJS.enc.Hex.parse(realKey);

    let content = CryptoJS.enc.Base64.parse(data);
    let decrypt = CryptoJS.AES.decrypt({ciphertext: content}, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    let content = decrypt.toString(CryptoJS.enc.Utf8);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值