golang RSA 解密前端jsencrypt发送的数据时异常 crypto/rsa: decryption error 解决方法
golang中 RSA解密前端(jsencrypt)发来的密文后出现 "crypto/rsa: decryption error" , 这个问题首先需要确认你的私匙和公匙是否匹配, 如果匹配 那检查入参数据类型, 前端发送来的rsa加密后的数据一般都是经过base64编码后的, 在后端进行RSA解码时需要对前端发送的数据进行base64解码!
crypto/rsa: decryption error异常重现:
Rsa解码数据入参
crypto/rsa: decryption error
解决方法
在进行RSA解码之前对前端发送的base64编码的数据进行解码, 如下
cipherData, err := base64.StdEncoding.DecodeString(base64Cipher)
if err != nil {
return nil, err
}
RsaDecrypt(priKey,cipherData)
正确的Rsa密文格式类似这种的 "s\x7f\u0381\x11\xa9Hw\xab\xd3\x0e\xcc\xd6\xc4̓\......x1a\x1b\xe8G"