[Nodejs-加密] [JSencrypt] rsa例程:RSA_padding_check_PKCS1_OAEP_mgf1:oaep解码错误

斯瓦普尼尔·索尼

我正在使用NodeJS加密模块在后端使用RSA进行加密和解密,而在JSencrypt进行前端RSA加密

但是问题是,每当我使用publickey在前端加密时,后端都会引发此错误(PS:我在NuxtJS中使用此功能,因此使用了导入功能。)

const { JSEncrypt } = await import('jsencrypt')
const rsa = new JSEncrypt({ default_key_size: 1024 })
rsa.setPublicKey(store.state.publicKey)
const xKey = rsa.encrypt(store.state.ticket)

然后每当我尝试在后端使用这段代码进行解码时,都会抛出此错误

Error: error:04099079:rsa routines:RSA_padding_check_PKCS1_OAEP_mgf1:oaep decoding error

这是我使用privateKey进行RSA解码的后端代码

const privateKey = fs.readFileSync('RSA_private.key', { encoding: 'utf8' })

exports.RSAdecrypt = async (data) => {
    const buffer = Buffer.from(data, "base64")
    const decrypted = crypto.privateDecrypt(privateKey, buffer)
    return decrypted.toString('utf8')
}
斯瓦普尼尔·索尼

我找到了解决方案。我在这篇文章看到默认情况下JSencrypt使用pkcs1填充。所以我默认情况下pkcs1使用pkcs1_oaep默认节点加密使用我的解密器

这是解密器的代码。

exports.RSAdecrypt = async (data) => {
    const buffer = Buffer.from(data, "base64")
    const decrypted = crypto.privateDecrypt({ key: privateKey, padding: crypto.constants.RSA_PKCS1_PADDING }, buffer)
    return decrypted.toString('utf8')
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python RSA 加密与 JSEncrypt 不同?

RSA使用JSEncrypt加密和使用BouncyCastle(Java)解密

使用NodeJS进行RSA PKCS#1加密

如何使用由travist / jsencrypt加密的phpseclib类Crypt_RSA解密数据

C:OpenSSL RSA_private_decrypt()失败,并显示“错误:0407A079:rsa例程:RSA_padding_check_PKCS1_OAEP:oaep解码错误”

使用弹性城堡和python PKCS1-OAEP的Java RSA加密

使用SHA-256AndMGF1Padding Swift加密RSA / ECB / OAEP

使用公钥加密的节点加密而不是JSEncrypt

iOS上的RSA加密(RSA / ECB / PKCS1Padding)

jsencrypt从加密函数返回空解密字符串

RSA OAEP,Golang加密,Java Decrypt -BadPaddingException:解密错误

RSA OAEP,Golang解密,Java加密

使用RSA OAEP加密和解密

NET的Java RSA / ECB / PKCS1Padding加密

使用RSA-OAEP解密用JavaScript加密的C#中的数据时,OAEP填充错误

使用SHA-1时,使用SHA-256进行RSA OAEP加密失败

NodeJS加密RSA,与Elixir / Erlang公钥不兼容?

OpenSSL rsa例程:RSA_padding_check_PKCS1_type_2:pkcs解码错误

在用GO语言加密的同时,如何在c#中解密RSA加密字符串。解码OAEP填充时发生错误

Java 和 JavaScript 之间使用 OAEP 的 RSA 加密

RSA加密错误

使用Nodejs加密模块的非对称加密

RSA加密-公钥加密

从ColdFusion加密解密NodeJS中的AES / CBC / PKCS5Padding

AES / CBC / PKCS5PADDING IV - 解密中的NodeJS(在Java中加密的)

使用nodeJS和Objective-C的非对称公钥/私钥加密RSA

nodejs AES/GCM/NoPadding 加密

使用NodeJS进行对称加密

NodeJS AES加密Python解密