jjzjj

CMAC-AES

全部标签

java - AES 加密与 openssl 使用 java 解密

我必须使用openssl命令行或Capi来加密xml文件。输出应为Base64。Java程序将用于解密。此程序由客户提供且无法更改(他们将此代码用于遗留应用程序)。正如您在下面的代码中看到的那样,客户提供了一个密码,因此将使用SecretKeySpec方法生成key。Java代码://Passphraseprivatestaticfinalbyte[]pass=newbyte[]{'0','1','2','3','4','5','6','7','8','9','0','1','2','3','4','5'};publicstaticStringencrypt(StringData)th

java aes 256 java.security.InvalidKeyException : Illegal key size after installation the policy

这个问题在这里已经有了答案:InvalidKeyExceptionIllegalkeysize(6个答案)关闭6年前。我对使用AES256key加密字节有疑问。我已经安装了该策略。这是我所做的:下载文件:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html我将文件local_policy和US_export_policy移动到目录/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/se

java - AES 加密 Java 无效 key 长度

我正在尝试创建一个AES加密方法,但由于某种原因我不断收到java.security.InvalidKeyException:Keylengthnot128/192/256bits代码如下:publicstaticSecretKeygetSecretKey(char[]password,byte[]salt)throwsNoSuchAlgorithmException,InvalidKeySpecException{SecretKeyFactoryfactory=SecretKeyFactory.getInstance("PBEWithMD5AndDES");//NOTE:lastar

Java 7 -> Java 8 : AES Causes exception: "BadPaddingException: Given final block not properly padded" in conjunction with BufferedReader & ZipStreams

我们使用以下语句实例化密码:Ciphercipher=Cipher.getInstance("AES");SecretKeySpeckey=newSecretKeySpec(cipherKey,"AES");这在Java7(1.7_45)中有效,但在Java8(1.8_25)中不再有效。我们将cipher传递给CipherInputStream并使用流来读取/写入数据。实际异常发生在close期间。编辑:快速查看JDK代码会发现BadPaddingException被重新抛出,在7中它被忽略了:JDK7:CipherInputStream.close:try{this.cipher.d

Java AES 加盐加密

好吧,事实证明我不擅长加密/解密。我只是不明白。如何使Java使用AES加密将Stringmessage1="helloworld";和Stringsalt="mySalt";加密?加密后如何解密?如果您有时间提供最基本的代码,那将对我有很大帮助。还有1个关于AES加密的一般问题,使用相同的盐,相同的消息是否总是具有相同的加密?提前致谢。 最佳答案 AES没有盐的概念。它只需要数据和一个key。对于相同的输入,它总是会产生相同的输出。如何将您的信息与盐结合起来取决于您。字符串连接可能就足够了。但请注意,盐对于AES之类的东西并没有多

java - CipherInputStream 仅读取 16 个字节 (AES/Java)

我正在使用CipherInputStream和CipherOutputStream来使用AES加密文件。encrypt(...)似乎工作正常,但我的decrypt(...)函数只解密文件的前16个字节。这是我的类(class):publicclassAESFiles{privatebyte[]getKeyBytes(finalbyte[]key)throwsException{byte[]keyBytes=newbyte[16];System.arraycopy(key,0,keyBytes,0,Math.min(key.length,keyBytes.length));returnk

java - 无效的 AES key 长度 : 128 bytes?

我收到java.security.InvalidKeyException:InvalidAESkeylength:128bytesCIPHER.init(Cipher.ENCRYPT_MODE,keySpec);密码为CipherCIPHER=Cipher.getInstance("AES");和keySpecSecretKeySpeckeySpec=newSecretKeySpec(key,"AES");那个key是一个长度为128的byte[]我通过Diffie-Hellmankey交换获得(虽然我从哪里得到它应该不重要,对吧?),key完全由非零字节填充为什么Cipher.ini

java - 使用 AES-256 Java 加密

我有这个简单的代码,是我在互联网上找到的。我正在学习加密/解密的东西。这个代码似乎工作正常,但我不明白......为什么在“c.doFinal()”(用于使用AES-256进行加密/解密)这家伙使用BASE64编码/解码该加密值?仅使用AES还不够吗?`privatestaticfinalStringALGO="AES";privatestaticfinalbyte[]keyValue=newbyte[]{'T','h','e','B','e','s','t','S','e','c','r','e','t','K','e','y'};publicstaticStringencrypt(

java - 算法错误 : AES or Rijndael required

我是JAVA新手。我要为我的项目构建一个安全系统。但是,我遇到了一个问题。Eclipse总是指出“java.security.InvalidKeyException:错误的算法:需要AES或Rijndael”。我将把加密key保存在数据库中。我已经检查过key是否正确。唯一的问题是我无法解密密文。谁能告诉我问题出在哪里?实际上,我已经搜索了一些解决方案,但问题仍未解决。请帮我。非常感谢!importjava.io.IOException;importjava.security.NoSuchAlgorithmException;importjava.sql.Connection;impo

java - 使用 Java 的 AES 加密和使用 Javascript 的解密

我正在制作一个需要基于Java的AES加密和基于JavaScript的解密的应用程序。我使用以下代码作为基本形式进行加密。publicclassAESencrp{privatestaticfinalStringALGO="AES";privatestaticfinalbyte[]keyValue=newbyte[]{'A','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'};publicstaticStringencrypt(StringData)throwsException{Keykey=generateKey(