Java での xml シリアライゼーションに問題があります。実際には、暗号化プログラムに次のような xml ヘッダーを作成する必要があります。
<EncryptedFileHeader>
<Algorithm>algorithm name</Algorithm>
<KeySize>key size</KeySize>
<BlockSize>block size</BlockSize>
<CipherMode>mode</CipherMode>
<IV>initial vector</IV>
<ApprovedUsers>
<User>
<Email>mail</Email>
<SessionKey>session key</SessionKey>
</User>
</ApprovedUsers>
</EncryptedFileHeade>
*ciphered data*
暗号化されたデータがヘッダーの外にある場所。xml Bean を検討しましたが、次のようなノード プロパティや属性などの多くのオーバーヘッド データが得られます。
<void property="approvedUsers">
<void index="0">
JAXB は非常に優れたノード ルックアウトを提供しますが、渡すデータはすべて Base64 に変換されます。これが最大の問題です。「暗号化されたデータ」と「セッション キー」は、純粋なバイナリ形式 (バイト []) で格納する必要があります。私はxml Beanを使用していますが、次のように保存されています:
<array class="byte" length="428704">
<void index="0">
<byte>43</byte>
</void>
<void index="1">
<byte>93</byte>
</void>
<void index="2">
<byte>76</byte>
</void>
<void index="3">
<byte>48</byte>
</void>
<void index="4">
...
別の方法は、高速な情報セットを備えた JAXB です..しかし、この問題に対する別の簡単な解決策があるかどうか疑問に思っています。
編集:ここで私の問題/誤解の説明を見つけましたここにリンクの説明を入力してください