【发布时间】:2013-07-25 09:51:13
【问题描述】:
我在序列化 cipherinputstream 对象时遇到问题。每当我尝试这样做时,我总是会遇到这个异常,这是我的代码的 sn-p
public class Crypto implements java.io.Serializable
{
public Crypto(String filename)
{
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
SecretKeySpec secretkey = new SecretKeySpec(key(), "AES");
cipher.init(Cipher.ENCRYPT_MODE, secretkey);
CipherInputStream cipt = new CipherInputStream(new FileInputStream(new File(filename)), cipher)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream obj = null;
try
{
obj = new ObjectOutputStream(baos);
obj.writeObject(cipt);
byte[] bv = baos.toByteArray();
System.out.println(bv);
}
catch(Exception b)
{
b.printStackTrace();
}
finally
{
obj.close();
baos.close();
}
}
}
例外:
java.io.NotSerializableException: javax.crypto.CipherInputStream.
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
谁能帮我做这件事。我的目标是将 cipherinputstream 对象转换为字节或字节数组。
【问题讨论】:
-
你实现可序列化了吗?
-
你想达到什么目的?你想自己写密码还是写对象
CipherInputStream? -
对象 CipherInputStream
-
@shuhail,怎么样?不明白
-
U 试图序列化的对象的类...
标签: java exception serialization