我需要将对象写入XML,所以我使用XMLEncoder,但该对象中的一个变量(String)应该被加密。是否可以在写入时捕获对象,然后替换值(但不在对象中设置值)?
是的。XMLEncoder 使用序列化,因此您可以使用常规序列化规则来重写 readObject 和 writeObject 中序列化的默认行为。
http://java.sun.com/products/jfc/tsc/articles/persistence4/
尽管有些人可能会争论加密文件上的对象是否足够重要,但也许您应该将其加密在内存中,因为这同样容易查看。