ファイルや文字列などを暗号化する場合、主に2つの方法があります。文字列/ファイルをバイトの配列に変換するクラスまたはメソッドを構築することから始める必要があります。バイトの配列を文字列/ファイルに変換する別のメソッドを作成します。
次の2つの方法を使用してファイルを暗号化できます。1-対称鍵-秘密の単語(通常、文字の巨大な文字列またはユーザーが設定したパスワード)は、ファイルとパスワードを暗号化し、同じパスワードを使用して復号化します。2-非対称キー-キーのペアを生成します。1つは公開鍵と呼ばれ、もう1つは秘密鍵と呼ばれます。公開鍵はファイルの暗号化に使用され、秘密鍵は復号化に使用されます。これは、より「専門的な」アプローチになります。
本当に安全なアプローチが必要な場合は、GnuPGをダウンロードする必要があります。GnuPGは非対称暗号化を管理する実行可能ファイルです。GnuPGと連携するクラスを構築し、GnuPGに暗号化/復号化プロセスを管理させることができます。
あなたのためにうまくいくかもしれないjava(対称鍵)に「ネイティブ」である危険なアプローチがあります:
暗号化:
byte[] key = //... password converted to an array of bytes
byte[] dataToSend = ...
Cipher c = Cipher.getInstance("AES");
SecretKeySpec k =
new SecretKeySpec(key, "AES");
c.init(Cipher.ENCRYPT_MODE, k);
byte[] encryptedData = c.doFinal(dataToSend);
復号化:
byte[] key = //
byte[] encryptedData = //
Cipher c = Cipher.getInstance("AES");
SecretKeySpec k =
new SecretKeySpec(key, "AES");
c.init(Cipher.DECRYPT_MODE, k);
byte[] data = c.doFinal(encryptedData);
お役に立てれば。