0

AES で Decrypt を使用することについて質問があります。テキストを暗号化する同じプログラムを書きました。

これが私の Decrypt クラスです。(私は 16 バイトのキーを使用します)。

public static byte[] decryptAES(String message) throws Exception 
{  
String secretKey = "JohnIsAwesome!1!";
SecretKeySpec key = new SecretKeySpec(secretKey.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, key);
return cipher.doFinal(message.getBytes());  
}

ここが私のメインです。暗号化は完全に機能しています。

public static void main (String[] args) throws Exception
{
    String text = "MySuperSecretPassword!";
    //Ecrypt the Text, then print it out in an array
    String encryptText = Arrays.toString(encryptAES(text));
    System.out.println("Encrypted Message"+ encryptText);

    //Decrypt the Text, then print it out in an array
    String decryptText = Arrays.toString(decryptAES(text1));
    System.out.println("Decrypted Message"+ decryptText);

}

出力を暗号化します。

暗号化されたメッセージ[16、69、84、118、68、-36、-67、125、-86、-106、-4、24、-59、-77、-41、-32、-37、104、- 44、-42、112、87、87、101、28、99、60、-27、34、-88、-17、-114]

復号化が機能しない理由を誰かが知っている場合は、大歓迎です。私はこれで壁に頭をぶつけてきました。

ありがとうございました

申し訳ありませんが、ここにも Encrypt クラスを追加するのを忘れていました。

public static byte[] encryptAES(String message) throws Exception
{
    String secretKey = "JohnIsAwesome!1!";
    SecretKeySpec key = new SecretKeySpec(secretKey.getBytes(), "AES");
    Cipher cipher = Cipher.getInstance("AES");
    cipher.init(Cipher.ENCRYPT_MODE, key);
    return cipher.doFinal(message.getBytes());
}
4

1 に答える 1