大多数情况下,下面的代码都运行得很好,但有时在解密字符串时会出现BadPadding异常。有什么建议吗?
我使用相同的密钥进行加密和解密,我不知道为什么下面的代码有时会抛出BadPadding异常。
@Service
public class EncryptionService {
private static final String ALGORITHM = "AES/CBC/PKCS5Padding";
private static final String PROVIDER = "SunJCE";
private Cipher c
昨天,我在Google Play上发布了一款应用程序,我已经从Crashlytics那里得到了很多报告,我的应用程序只在三星的Android 4.x设备上崩溃(4.1.2-4.4.4)。
异常的跟踪如下:
Fatal Exception: java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.fi
为什么StandardPBEByteEncryptor要锁定一个对象? "pool-2-thread-115" - Thread t@169
java.lang.Thread.State: BLOCKED
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1035)
- waiting to lock <55a2b29b> (a javax.crypto.Cipher) owned by
我目前正在用Java进行一个项目,通过TCP将视频文件从服务器传输到客户端。其想法是服务器将继续运行并侦听传入的连接。一旦有来自客户端的传入连接,服务器将自动向客户端发送视频文件。(到目前为止,IP和文件名是硬编码的)。这样就可以同时复制和播放文件。
它是本地使用,并将自动打开VLC从接收计算机,以播放正在传输的文件。我完成了转会部分,没有任何问题。当我试图加密/解密文件时,唯一的问题出现了。下面是我的代码
可运行线程FileTransfer服务器
public class FileTransferServer {
public static void main(String[]
我使用Jasypt加密和解密属性文件中的敏感数据。我开始注意到IllegalBlockSizeException。我更新了jasypt代码,以确定实际错误是什么(默认情况下,jasypt掩盖Error并抛出org.jasypt.exceptions.EncryptionOperationNotPossibleException)
加密和解密在我的开发机器上运行得非常好。当我复制本地或使用Jenkins构建的jars时,我看到了这个错误。
我使用的本地JDK版本是:
λ java -version
java version "1.8.0_202"
Java(TM) SE Runt
我使用Acrobat保护了一个PDF文件,然后对它进行了签名,但是当我尝试使用iText验证签名时,它会出现一个错误
Exception in thread "main" java.lang.IllegalArgumentException: can't decode PKCS7SignedData object
at com.itextpdf.text.pdf.security.PdfPKCS7.<init>(PdfPKCS7.java:214)
at com.itextpdf.text.pdf.AcroFields.verifySignature(Acr
服务器和本地代码一致,本地运行没有问题,提示远程操作,jdk版本为1.8.0.161。错误消息
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA
at javax.crypto.Cipher.getInstance(Cipher.java:540)
at com.shineyue.sdk.encrypt.RSACoder.decryptByPublicKey(RSACoder.java:52
)
at com.shineyue
我需要使用SuiteScript加密字符串,将其发送到用Java编写的web服务,然后在那里解密。
使用SuiteScript,我可以在没有任何问题的情况下加密和解密。但是,当我在java中使用相同的键时,我会得到不同的错误。
var x = "string to be encrypted";
var key = 'EB7CB21AA6FB33D3B1FF14BBE7DB4962';
var encrypted = nlapiEncrypt(x,'aes',key);
var decrypted = nlapiDecrypt(encrypted
当我试图解密以下文件时,我在下面一行得到这个BadPaddingException。我相信文件被正确加密了。
javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:810)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:675)
at com.sun.crypto.provider.
我正在尝试解密电子邮件id并获取此异常。我的加密是成功的,但在解密时,我得到了这个。
Caused by: javax.crypto.BadPaddingException: pad block corrupted at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:715) at javax.crypto.Cipher.doFinal(Cipher.java:1090)
感谢您的帮助
我正在尝试设置RSA加密,这样我就可以创建一个简单的库供自己将来使用,而我无法让这个简单的代码工作。以下是源代码:
package rsa.testing;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;
public class AloneTest
{
public static void doTest()
{
try
{
KeyPairGenerator gen = K
我试图编写一个程序,用于使用私钥加密、签名和解密文件。在运行下面的程序时,我会收到以下错误-
线程“主”java.security.InvalidKeyException中的异常:错误格式:com.sun.crypto.provider.CipherCore.getKeyBytes(CipherCore.java:623) at com.sun.crypto.provider.CipherCore.init(CipherCore.java:494) at com.sun.crypto.provider.CipherCore.init(CipherCore.java:458) at com.s
我为我的android应用程序编写了一个简单的加密和解密助手类,用于安全地加密和存储字符串。
它由一个要加密的静态公共方法组成,然后调用一个私有静态方法来解密加密的消息并返回它。我以这种方式编写方法,以检查消息在加密/解密后是否完好无损。
我用一个字符串编写了一个简单的JUnit测试,并在将其发送到Crypto加密方法之前和之后对该字符串调用了AssertEquals。
我从运行测试中得到以下错误:
javax.crypto.AEADBadTagException: Tag mismatch!
错误堆栈:
at com.sun.crypto.provider.GaloisCounterMode
需要关于这方面的建议,因为我仍然无法在java中成功加密/decrypt a图像。为了让用户解密图像,用户必须单击图像并输入图像密码,这类似于受密码保护的文本文件或pdf文件。
下面是java中用于加密图像的函数
public static void ImgEncrypt()throws Exception{
// Scanner to read the user's password. The Java cryptography
// architecture points out that strong passwords in str
我有服务器客户端套接字从客户端发送字节数组到服务器,我尝试使用密码输入流,密码输出流,但我得到了以下例外:
javax.crypto.BadPaddingException:给出的最后一个块没有适当地填充。线程“主”javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:121):javax.crypto.BadPaddingException中的异常:给定的最终块在javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:121) at ja
我正在尝试使用RSA算法解密数据。在解密的时候,我得到了一个exception.That,
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS5Padding
at javax.crypto.Cipher.getInstance(DashoA13*..)
如何解决这个异常?目前,我正在使用java version "1.6.0_26"。
我在服务器上使用phpseclib加密数据
$rsa->loadKey($encryptkey);
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($str);
并在我的Java应用程序中接收它。数据为384字节(3*128)。
在Java中,我试图解密它(它们的密钥已经被正确分发),但我得到了这个异常:
javax.crypto.IllegalBlockSizeException: Data must not be longer than 128 bytes
下