Openssl“数据大于mod len”

问题描述 投票:8回答:3

“数据大于mod len”错误消息是什么意思?我在尝试使用php的openssl_private_decrypt解密数据时遇到过这种情况。如何解决这个问题呢?在网上搜索时间,没有到达任何地方。

encryption openssl private-key
3个回答
13
投票

非对称RSA密钥只能加密/解密有限长度的数据,即RFC3447中定义的RSAES-PKCS1-v1_5加密方案可以对长度高达k-11个八位字节的消息进行操作(k是RSA模数的八位字节长度),所以如果你是使用2048位RSA密钥,则要加密的明文数据的最大长度为245字节。


6
投票

如果您有此解密错误:RSA_EAY_PRIVATE_DECRYPT:data greater than mod len在解密您的文件之前尝试此命令:

cat yourEncryptedFile| base64 -D > yourEncryptedRawFile

0
投票

你也可以试试openssl enc -in cipherTextFile.base64 -out binaryTextFile.bin -d -a。当我在尝试解密时遇到此错误时,这对我有用。然后我能够使用openssl rsautl -decrypt -in binaryTextFile.bin -out plainTextFile.txt -inkey my-private-key.pem解密而不会失败。

© www.soinside.com 2019 - 2024. All rights reserved.