34 lines
1.1 KiB
Java
Executable File
34 lines
1.1 KiB
Java
Executable File
package ysoserial.payloads.util;
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.ObjectInputStream;
|
|
import java.io.ObjectOutputStream;
|
|
import java.io.OutputStream;
|
|
|
|
public class Serializables {
|
|
|
|
public static byte[] serialize(final Object obj) throws IOException {
|
|
final ByteArrayOutputStream out = new ByteArrayOutputStream();
|
|
serialize(obj, out);
|
|
return out.toByteArray();
|
|
}
|
|
|
|
public static void serialize(final Object obj, final OutputStream out) throws IOException {
|
|
final ObjectOutputStream objOut = new ObjectOutputStream(out);
|
|
objOut.writeObject(obj);
|
|
}
|
|
|
|
public static Object deserialize(final byte[] serialized) throws IOException, ClassNotFoundException {
|
|
final ByteArrayInputStream in = new ByteArrayInputStream(serialized);
|
|
return deserialize(in);
|
|
}
|
|
|
|
public static Object deserialize(final InputStream in) throws ClassNotFoundException, IOException {
|
|
final ObjectInputStream objIn = new ObjectInputStream(in);
|
|
return objIn.readObject();
|
|
}
|
|
|
|
} |