ファイルをサーバーから SDCARD に正常にダウンロードして保存しましたが、 SDCARDに保存する前にファイルを暗号化する必要があります
質問する
1140 次
1 に答える
3
CipherOutputStream
orCipherInputStream
を Cipher および FileOutputStream / FileInputStream と共に使用します。Cipher.getInstance("AES/CBC/PKCS5Padding");
コンストラクター呼び出しのようなものをお勧めします。パスワードを使用する場合は、適切なキー導出メカニズム (パスワード ベースの暗号化を参照) を使用していることを確認してください。複数のファイルの場合は、IV に NONCE を使用します (ウィキペディアを参照)。
文字列をエンコード/デコードするときは、必ず文字エンコードを指定してください。そうしないと、プラットフォームのエンコードが以前のものと異なる場合に問題が発生します。つまり、使うのではString.getBytes()
なく使うString.getBytes(Charset.forName("UTF-8"))
。
より安全にするために、安全なチェックサム (MAC または HMAC) を追加し、計算の開始時に NONCE を追加することを忘れないでください。
于 2013-03-04T06:53:27.583 に答える