希望加密部分Java对象并在发送之前对其进行序列化。
更清楚的是,我有一个工作流程,其中每个阶段都会吐出分支数据。我希望将其中的一部分(少数类变量)加密,并将其中的一部分公开。我有一个基本的序列化程序,我可以覆盖它以在序列化之前包含此加密部分。有关如何做的任何建议吗?
我想在这些变量上有一些像@encypt这样的注释,在序列化之前加密它们。但是,我不知道如何实现这个注释的东西。有什么指针吗?
class Foo{
private String username;
@encrypt
private String password;
}
class customSerializer{
writeExternal(Foo object){
encrypt(object);
serialize(encryptedObject);
}
}
encrypt(Foo object){
// Identify variables with @encrypt and encypt them.
}
我不确定如何在我的加密函数中实现这个'识别变量'部分。
答案 0 :(得分:0)
这是真正的Java序列化吗?如果是这样,那么当您需要对Java对象的序列化进行细粒度控制时,请实现Externalizable接口。
答案 1 :(得分:0)
请参阅本文http://java.sun.com/developer/technicalArticles/ALT/serialization/
中的“Java密码术扩展”