【发布时间】:2015-03-16 16:50:15
【问题描述】:
我尝试将密钥保存在文件中,它保存了一些东西,但是当我尝试加载它以对文本进行解密时,我遇到了这个异常:
“无效密钥:无效的 AES 密钥长度:59 字节”。
我的代码是下一个:
SecretKey key;
key = KeyGenerator.getInstance("AES").generateKey();
byte[] encoded = key.getEncoded();
String newKey = new String(encoded, "UTF-8");
out.write(newKey);
然后我写了加密的文本。然后我尝试加载密钥并使用该密钥对保存的文本进行解密,但出现错误“无效密钥:无效的 AES 密钥长度:59 字节”。代码如下:
byte[] encoded = String.valueOf(fileIn.nextLine()).getBytes();//Key data
key = new SecretKeySpec(encoded, "AES");
dcipher = Cipher.getInstance("AES");
dcipher.init(Cipher.DECRYPT_MODE, key);
我认为,我需要保存密钥,因为这是几天后解密文本的唯一方法。例如,我保存了一个加密的文本,然后我需要在几天后加载该解加密的文本。
谁能帮帮我?谢谢!
【问题讨论】:
标签: java encryption key aes