2016-05-20 11 views
-4

パラメータとして2つの文字列入力(平文、キー)を取り、暗号化された文字列暗号文を出力するAESの実装が必要です。私はインターネット上のすべてを検索しているが、見つけられていない。私はAESがバイト[]を持っていることを発見しました。すでに実装されているのですか、Javaを使って遊んで、最終的に仕事をするいくつかのメソッドを作成しなければなりませんか? ありがとうございました!AES入力と出力

+0

http://stackoverflow.com/questions/992019/java-256-bit-aes-password-based-encryption – sbowde4

+0

間違った質問をしています。あなたが尋ねるべき質問は、「*なぜ*暗号化は常に、文字列暗号ではなく、バイト暗号文を吐き出すように見えるのですか?その質問に対する回答を自分で見つけることができるはずです。答えを理解すると、暗号化がよりよく理解できるようになります。 – zwol

+0

*この質問をすべて聞いて*あなたが車輪を再発明しようとしていることを示唆していることにも注意してください。あなたは**確実に**あなたはALSで直接作業する必要がありますか?TLSとは言いませんか? – zwol

答えて

2

AES暗号化ではバイトが生成されるため、常にバイトが取り出されます。使用できるのは、結果のバイト配列を文字列に変換する別のプロセスです。これを行う通常の方法は、Base64を使用することです。 java.util.Base64クラスを参照してください。

解読する前にBase64文字列をバイト配列に変換してください。そうしないと、復号化に失敗します。

暗号化:平文 - >暗号化 - >バイト - > Base64文字列

復号化:Base64文字列 - >バイト - >解読 - >これは役立つかもしれ復号された平文