Nuxt | Next 服务端渲染,数据加密问题node-rsa常见问题

  1. Expected 0x2: got 0x30
    原因可能是传输的key 没有制定证书格式类型,
    // 加密
    const publicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbSLfwkhBAWz3MQ8ASAAdS8toMr5QcPT6???????????????????????????' // 公钥 (换成自己正常的公钥)
    const nodersa = new NodeRsa(publicKey, 'pkcs8-public') // 使用key, 第二个参数'pkcs8-public' 指定key 是什么类型, 根据你的publickey privatekey 是怎么生成的,指定其类型格式
    nodersa.setOptions({encryptionScheme: 'pkcs1'})
    const encryptedData = nodersa.encrypt(str, 'base64')

// 解密

const privateKey = 'MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJuPJP/PwzfIhjQ3C/4THtM9+EprY6TocAF9KFgNVuOKu/0WBpOK5K8CVi0+JmQZXjKz3Sb2KS+HiYaRJPZPUVYWoza0vf7U5TC8UsKKzkcoRJFhQaXSJ7uM37tDvZHyOtjlPzJXBld4mS6XHZElox+89PS5p+nERtlv0n77WOGvAgMBAAECgYAuF9Uzw4Ep104EzMbN6yZ4G2Wlz3pAE+uUVVyN8q3rUGFxlYQvVbl7L?????????????????????????????????????????????????????????????????' // 私钥 (你的私钥)

const nodersa = new NodeRsa(privateKey, 'pkcs8-private') // 注意参数指定类型
nodersa.setOptions({encryptionScheme: 'pkcs1'})
const decryptedData= nodersa.decrypt(str, 'utf8')

node-rsa: npm 官方文档 https://www.npmjs.com/package/node-rsa#importexport-keys

你可能感兴趣的:(Nuxt | Next 服务端渲染,数据加密问题node-rsa常见问题)