收藏
回答

小程序中始终rsa加解密的类库使用哪个?

小程序对数据进行rsa加解密推荐使用哪个类库,jsEncrypt.js使用window、document等需要手动处理,有成功实践的大佬分享可以下改造后的jsEncrypt,感谢



回答关注问题邀请回答
收藏

1 个回答

  • Charlie
    Charlie
    2022-01-13
    // utils.js
    
    import CryptoJS from '../common/crypto-js'
    
    
    const aecConfig = {
      mode: CryptoJS.mode.CBC,
      padding: CryptoJS.pad.Pkcs7
    }
    
    
    const utils = {
      /**
       * 解密方法
       * @param {*} text 
       * @returns 
       */
      Decrypt(text, key, iv = '') {
        key = CryptoJS.enc.Latin1.parse(key)
        iv = CryptoJS.enc.Latin1.parse(iv)
        const decrypt = CryptoJS.AES.decrypt(text, key, { iv, ...aecConfig })
        return decrypt.toString(CryptoJS.enc.Utf8)
      },
      /**
       * 加密方法
       * @param {*} text
       * @returns 
       */
      Encrypt(text, key, iv = '') {
        key = CryptoJS.enc.Latin1.parse(key)
        iv = CryptoJS.enc.Latin1.parse(iv)
        const encrypted = CryptoJS.AES.encrypt(text, key, { iv, ...aecConfig })
        return encrypted.toString()
      }
    }
    
    
    export default utils
    
    // 使用
    import utils from '@/utils'
    const aes_key = ''
    utils.Encrypt('hello world', aes_key)
    


    2022-01-13
    有用
    回复
登录 后发表内容