问题标签 [badpaddingexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java AES 解密导致 BadPaddingException
我正在尝试创建 AES 加密/解密方法,但如果不使用 AES/ECB/NoPadding,我似乎无法获得原始输入。现在我正在尝试使用 AES/CBC/PKCS7Padding。我已经确认从文件中读取和写入字节工作正常。使用 PKCS7 填充我得到一个 BadPaddingException
在解密方法中。没有填充,没有例外 - 但是输出是加扰的。我已经花时间浏览了关于这个完全相同的问题的其他帖子,但我似乎无法找到适合我的问题的解决方案。
我如何解读该输出?
编辑1:使从文件中读取的加密数组具有适当的大小
编辑 2:在构造函数中初始化密钥和密码,而不是每个方法
java - 解密错误错误填充
我正在尝试在两个代理之间发送加密消息。我有一个字符串,其中包含我转换为字节的信息对其进行加密,然后再次字符串以发送消息。收到消息但是,在接收代理我得到以下异常
我在同一个容器中尝试了代理的代码,它工作正常,但是,如果它们在不同的容器上,它不会。
这就是我加密消息的方式:
这就是我解密它的方式:
java - 几个小时后Java BadPaddingException“给定最终块未正确填充”
随着时间的推移,像许多其他人一样,我在维护的系统中遇到了加密问题。
进程 A 生成一些加密文本,稍后进程 B 必须对其进行解码。他们为此共享相同的代码,如下所示:
这两个进程在不同的服务器上运行,都是 Centos(进程 A 为 5.3,进程 B 为 6.4)
进程 A 没有明显的问题 - 要编码的字符串如此可靠地完成。
当进程 B 开始时,一切似乎都很好。它正确解码和解密所需的字符串。
然而,在大约 24 小时的某个时间点,这将停止工作。在这一点上,我得到了 'BadPaddingException "Given final block not proper padding"' 异常。然后,每次使用任何编码字符串执行代码时都会继续这种情况,直到进程重新启动,此时一切都恢复正常,包括解码之前失败的字符串。
在出现问题时,调用 decrypt(encrypt("test")) 也会失败,因此这似乎与实际加密值无关,更多地与加密和解密不同步有关。
如果有人可以就我可能在哪里出错提供任何建议,我将不胜感激。
提前谢谢了...
安德鲁
java - AES 加密/解密:给定最终块未正确填充
我正在尝试编写加密或解密字符串的方法(主要是数字)。它适用于某些文本(例如-'1010000011'、'1010000012'、'1010000013'),但对其他文本(例如-'1010000014'、'1010000018')给出以下错误:
javax.crypto.BadPaddingException:给定最终块未正确填充
这是我的代码:
从文件中读取要加密的字符串,加密后写入其他文件。这个加密的文本必须在以后解密。我以下列方式调用这些方法:
java - 加密在唯一文件中附加 IVSBytes 的文件 - 执行:给定最终块未正确填充
我正在尝试使用带有 SHA-256 密钥的 AES 加密文件。当我生成 IV 时,我在加密文件的开头添加它,并附加其余部分。
当我恢复 IV 并比较它(IV 之后然后是过程)时,它们是相同的。问题是当我尝试解密文件时:
javax.crypto.BadPaddingException:给定最终块未正确填充
我认为这可能是因为我没有正确读取以下字节,但我修改了代码,看起来还可以。
加密类:
我收到了错误消息...也许是因为我没有正确读取前 16 个字节之后的字节?或者可能是因为我没有为 byte[] encBytes 提供合适的大小?
用于生成盐:
java - javax.crypto.BadPaddingException Decryption error when trying to use HttpURLConnection on https URL
I'm trying to use webservice from java application. The webservice site is served through https.
I write this code, but javax.crypto.BadPaddingException Decryption error is appearing.
How can this problem be resolved?
java - 填充异常:给定最终块未正确填充
我正在尝试加密和解密我的所有密码都使用 AES 存储在其中的文件。
该算法在加密部分运行良好。但是在解密时它会抛出错误
这里有什么问题?
代码:
新的 AES 代码:
java - 给定最终块未正确填充(BadPaddingException)
我正在使用 ftpclient for java,我想在其中加密文件并再次解密。
使用以下代码成功完成加密:
但是在解密时,它会在代码上给出 BadPaddingException:
我得到了例外byte[] output = cipher.doFinal();
java - RSA 解密期间的异常:javax.crypto.BadPaddingException:数据必须从零开始
我正在尝试解密 RSA 格式的密码,但它返回异常
依次加解密时,工作正常。
看来我的私钥和公钥有问题,下面的代码中有任何证据吗?
谢谢
客户:
服务器:
}
java - java - RSA BadPaddingException when trying to decrypt an int
I know similar questions have been asked before, but I can't find an answer specific to my problem. I am trying to use RSA encryption to take an image with encrypted pixels and decrypt it using the same private key. I keep on running into a problem though when I try to decrypt the int I get from the pixels of the image using getRGB(). Here is my Code:
This is in my main class which calls method RSADecryptB from another class, here is that method:
}
When I run the program the output is this:
I don't understand why this is going on. -1606258341 is the value of the pixel, the output of 5 and 4 are because of the NoSuchPaddingException and the BadPaddingException. If anyone can help explain why this is happening and what I'm doing wrong that would be great. Thanks!
Edit: I know I probably shouldn't be using RSA directly, but I am also doing the encryption myself, pixel by pixel. I'm doing this more to practice using bufferedimages/ byte arrays / rsa rather than to create the most efficient/secure program. Also, when I decrypt the integer in my encryption method it works fine. Its when I decrypt it from a different method that I get the error. Also, after encrypting the image is saved to a file, then extracted to decrypt. Here is my Encryption method also (it doesn't use any padding):
Then here's the RSAEncrypt method: