项目作者: shb190802

项目描述 :
封装的rsa和aes常用方法的前端库
高级语言: JavaScript
项目地址: git://github.com/shb190802/rsa-aes.git
创建时间: 2020-02-29T17:35:48Z
项目社区:https://github.com/shb190802/rsa-aes

开源协议:

下载


rsa-aes

针对前后端交互数据加密封装的rsa+aes的库
支持commonjs和es module

  • 前端使用crypto-js + jsencrypt
  • node端使用crypto-js+node-rsa

包含9个常用方法:

  • getRsaKey(获取公钥私钥)

  • encryptRsa(rsa公钥加密)

  • decryptRsa(rsa私钥解密)

  • sign(rsa私钥加签)

  • verify(rsa公钥验签)

  • encryptRsaByPrivateKey(rsa私钥加密)

  • decryptRsaByPublicKey(rsa公钥解密)(由于jsencrypt不支持,所以客户端无此方法)

  • encryptAes(aes秘钥加密)

  • decryptAes(aes秘钥解密)

示例:

  1. const crypt = require('rsa-aes')
  2. /**
  3. * import crypt from 'rsa-aes'
  4. */
  5. // 获取公钥私钥
  6. let key = crypto.getRsaKey()
  7. let secretKey = '1234567890abcdef'
  8. console.log(key.publicKey)
  9. console.log(key.privateKey)
  10. // rsa公钥加密
  11. let encryptRsa = crypto.encryptRsa(key.publicKey, secretKey)
  12. console.log('encryptRsa', encryptRsa)
  13. // rsa私钥解密
  14. let decryptRsa = crypto.decryptRsa(key.privateKey, encryptRsa)
  15. console.log('decryptRsa', decryptRsa)
  16. // rsa 私钥加密
  17. let encryptRsaByPrivateKey = crypto.encryptRsaByPrivateKey(key.privateKey, decryptRsa)
  18. console.log('encryptRsaByPrivateKey', encryptRsaByPrivateKey)
  19. // rsa 公钥解密 node端支持 客户端不支持
  20. let decryptRsaByPublicKey = crypto.decryptRsaByPublicKey(key.publicKey, encryptRsaByPrivateKey)
  21. console.log('decryptRsaByPublicKey', decryptRsaByPublicKey)
  22. // rsa 私钥加签
  23. let sign = crypto.sign(key.privateKey, secretKey, 'sha1') // ['md2', 'md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'ripemd160']
  24. console.log('sign', sign)
  25. // rsa 公钥验签
  26. let verify = crypto.verify(key.publicKey, secretKey, sign, 'sha1')
  27. console.log('verify', verify)
  28. // 使用aes秘钥加密
  29. let aesEncrypt = crypto.encryptAes(secretKey, "aa12345");
  30. console.log("aesEncrypt", aesEncrypt);
  31. // 使用aes秘钥解密
  32. let aesDecrypt = crypto.decryptAes(secretKey, aesEncrypt);
  33. console.log("aesDecrypt", aesDecrypt);