Java对象的部分加密和序列化

时间:2011-12-25 23:57:49

标签: java serialization encryption workflow

希望加密部分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. 
} 

我不确定如何在我的加密函数中实现这个'识别变量'部分。

2 个答案:

答案 0 :(得分:0)

这是真正的Java序列化吗?如果是这样,那么当您需要对Java对象的序列化进行细粒度控制时,请实现Externalizable接口。

答案 1 :(得分:0)

请参阅本文http://java.sun.com/developer/technicalArticles/ALT/serialization/

中的“Java密码术扩展”