Частичное шифрование и сериализация Java-объекта - PullRequest
0 голосов
/ 26 декабря 2011

Требуется зашифровать часть моего 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 голосов
/ 27 февраля 2012

См. «Расширение Java Cryptography» в этой статье.

0 голосов
/ 26 декабря 2011

Это фактическая сериализация Java?Если это так, тогда, когда вам нужно детальное управление сериализацией Java-объекта, реализуйте интерфейс Externalizable .

...