本文主要是介绍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"
这篇关于golang RSA 解密前端jsencrypt发送的数据时异常 crypto/rsa: decryption error 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!