Tag: 加密

java.security.NoSuchAlgorithmException:找不到任何支持AES / ECB / PKCS7PADDING的提供程序

我试图使用AES算法加密数据。 但是,发生了以下exception。 java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/ECB/PKCS7PADDING 有人知道这个问题的解决方案吗? 我的JDK版本是1.7。

Java:使用DES的Decrypt对象时发生StreamCorruptedException

我有两种方法可以在Android内部存储中从文件加密保存和解密加载对象。 加密和保存过程没有任何问题,但是当我想加载对象时StreamCorruptedException发生在inputStream = new ObjectInputStream(cipherInputStream); 我搜索越来越多,但我找不到解决问题的方法。 所有其他解决方案都适用于sockets寿命或类似情况。 我的代码如下: private static byte[] iv = { (byte) 0xB1, (byte) 0x15, (byte) 0xB5, (byte) 0xB7, (byte) 0x66, (byte) 0x43, (byte) 0x2F, (byte) 0xA4, (byte) 0xB1, (byte) 0x15, (byte) 0x35, (byte) 0xC7, (byte) 0x66, (byte) 0x58, (byte) 0x2F, (byte) 0x5F }; 保存方法:(运作良好) private static String saveToFile(Serializable object, String fileName, […]

Java / JCE:解密用RSA加密的“长”消息

我有一个包含在byte []中的消息,用“RSA / ECB / PKCS1Padding”加密。 为了解密它,我创建了一个Cipher c并用它启动它 c = Cipher.getInstance(“RSA/ECB/PKCS1Padding”); 直到现在我只使用doFinal()方法解密小消息,返回带有解密字节的byte []。 c.init(Cipher.DECRYPT_MODE, privateKey); byte[] decryptetBytes = c.doFinal(encryptedBytes); 但在这种情况下,数据更大(约500字节), doFinal()方法抛出exception(javax.crypto.IllegalBlockSizeException:数据不得超过128字节)。 我想我需要使用update() – 方法,但我无法弄清楚如何让它正常工作。 这是怎么做到的?

在Java中加载原始的64字节长ECDSA公钥

我有一个原始(r,s)格式的ECDSA NIST P-256公钥。 似乎没有简单的方法将它加载到实现java.security.interfaces.ECPublicKey的对象中。 加载64字节公钥的最简洁方法是什么,以便可以用来检查签名?

Java的AES加速

我想加密/解密许多小的(2-10kB)数据。 现在的性能还可以:在Core2Duo上,我得到大约90 MBytes / s AES256(当使用2个线程时)。 但是我可能需要在将来改进它 – 或者至少减少对CPU的影响。 是否可以使用Java专用AES加密硬件(使用JCE,或者可能是不同的API)? 如果我有更好的CPU,Java会利用特殊的CPUfunction(SSE5?!)吗? 或者有更快的JCE提供商? (我试过SunJCE和BouncyCastle – 没什么大不同。) 其他可能性?

Java中的加密和解密

我想将加密的密码存储在Java文件中。 我在使用javax.crypto的解决方案中看到了,但问题在于密钥是在运行中生成的并且是随机的。 然后,该密码将在运行时在Java程序中获取和解密。 鉴于我要将已加密的密码存储在文件中 – 我希望在解密时获得正确的文本。 有没有办法告诉javax.crypto方法: key = KeyGenerator.getInstance(algorithm).generateKey() 可以用基于某个私钥生成的自己的密钥替换它吗? 谁能指点我一些如何做到这一点的资源?

Java相当于C#的Rfc2898DerivedBytes

我想知道是否有人试图做相同的 Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(secret, saltValueBytes); byte[] secretKey = key.GetBytes(16); 在Java中。 其中secret是字符串(密码),而saltValueBytes是字节数组中的salt。 我尝试了一些东西,但似乎无法绕过它。

Java Bouncy Castle Cryptography – 使用AES加密

如何使用java bouncy castle library实现AES加密? 示例代码或示例代码的链接会很好:)

将C#RSACryptoServiceProvider转换为JAVA代码

我得到了由Web服务团队编写的这个C#代码,它公开了我计划使用的一些Web服务。 我的密码需要使用此代码加密,以便Web服务知道如何在其末端解密它。 using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { rsa.FromXmlString(publicKey); byte[] plainBytes = Encoding.Unicode.GetBytes(clearText); byte[] encryptedBytes = rsa.Encrypt(plainBytes, false); return Convert.ToBase64String(encryptedBytes); } 我正在使用Java来使用这个Web服务,而且现在,我在将#C代码转换为Java代码时遇到了问题,因为该Web服务无法正确解密我的密码。 这是我目前失败的尝试: – // my clear text password String clearTextPassword = “XXXXX”; // these values are provided by the web service team String modulusString = “…”; String publicExponentString = “…”; BigInteger modulus = new […]

java中AES解密算法的例外

我在下面的代码中得到了一个例外,用于java中的AES算法。 代码解密加密的字符串并返回原始字符串。 Plz帮助我解决这个问题。 码: public class AES { public byte[] encrypted; public byte[] original; public String originalString; public static String asHex (byte buf[]) { StringBuffer strbuf = new StringBuffer(buf.length * 2); int i; for (i = 0; i < buf.length; i++) { if (((int) buf[i] & 0xff) < 0x10) strbuf.append("0"); strbuf.append(Long.toString((int) buf[i] & 0xff, 16)); […]