4
私はDESで暗号化と復号化の両方を行うプログラムを書いています。暗号化処理中に使用されたのと同じキーを使用して、正しく復号化する必要がありますか?私の問題は、暗号化と復号化が異なるマシン上で実行されることです。これは、暗号化プロセス中に鍵が生成される方法です。後でKeyGeneratorで生成されたキーの使い方は?
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
私はファイルにキーを書き込むと思っていました。しかし、SecretKeyオブジェクトを文字列に型キャストすることはできますが、逆もできます。では、テキストファイルに含まれているキーをどのように抽出するのですか?この声明の入力として渡しますか?
decipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
また、暗号化と復号化プロセスの両方でユーザーからの入力としてキーを受け取ることは可能ですか?後に続いて
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
byte[] encoded = key.getEncoded();
// save this somewhere
:
byte[] encoded = // load it again
SecretKey key = new SecretKeySpec(encoded, "DES");
をしかし、(それが比較的容易bruteforcedすることができます)DESが今日安全でないであることを忘れないでください
+1シンプルだが非常に効果的な情報.......... –