2011-12-25 5 views
0

Javaオブジェクトの一部を暗号化してシリアル化して送信することを望んでいました。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

実際のJavaのシリアル化ですか?その場合、Javaオブジェクトのシリアライズをきめ細かく制御する必要がある場合は、Externalizableインタフェースを実装します。

+0

感謝ショーンこの記事では、 "Java暗号化拡張" を参照してください!そんなこと知ってる。私の質問は、シリアライゼーションに関するものではなく、どのように@encryptアノテーションで変数を識別し、それを暗号化してからシリアル化するかについてです。 – Satish

+0

externalizableを実装することによってオブジェクト自体でそれを行う必要があることを考えれば、私は気にしません。オブジェクトは、どのフィールドを暗号化する必要があるかを知っているので、それを仕事にするだけです。 –

関連する問題