具有一些数据的类对象,我将那个对象写入 java 卡。 我有一个函数可以将十六进制数据转换为字节数组,然后使用 java 卡将该数据写入智能卡。 当我将数据转换为十六进制格式时,我加密了该数据。 所以我需要将类对象转换为十六进制。 请告诉我如何在 java 中将对象转换为十六进制格式。
我正在使用智能卡类型 = 使用 java card 2.2.2 的接触卡和使用 apdu 的 jcop。
最佳答案
我在这里向您发送程序,该程序将对象转换为字节数组,反之亦然。
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Date;
public class Sandbox {
public static void main(String[] args) {
try {
// convert object to bytes
Date d1 = new Date();
System.out.println(d1);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(d1);
byte[] buf = baos.toByteArray();
// convert back from bytes to object
ObjectInputStream ois =
new ObjectInputStream(new ByteArrayInputStream(buf));
Date d2 = (Date) ois.readObject();
ois.close();
System.out.println(d2);
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
}
}
关于java - 如何在java中将类的对象转换为十六进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499663/