/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.security.*;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.Cipher;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String key
= "Bar12345Bar12345"; // 128 bit key String text
= "Bar12345Bar12345"; // 128 bit key // Create key and cipher
Key aesKey
= new SecretKeySpec
(key.
getBytes(),
"AES"); Cipher cipher = Cipher.getInstance("AES");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encrypted = cipher.doFinal(text.getBytes());
byte[] encrypted1 = cipher.doFinal(e.getBytes());
System.
out.
println(encrypted.
length+" "+encrypted1.
length); // decrypt the text
cipher.init(Cipher.DECRYPT_MODE, aesKey);
System.
out.
println(decrypted
); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnNlY3VyaXR5Lio7CmltcG9ydCBqYXZheC5jcnlwdG8uc3BlYy5TZWNyZXRLZXlTcGVjOwppbXBvcnQgamF2YXguY3J5cHRvLkNpcGhlcjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIGtleSA9ICJCYXIxMjM0NUJhcjEyMzQ1IjsgLy8gMTI4IGJpdCBrZXkKCQlTdHJpbmcgdGV4dCA9ICJCYXIxMjM0NUJhcjEyMzQ1IjsgLy8gMTI4IGJpdCBrZXkKCQkvLyBDcmVhdGUga2V5IGFuZCBjaXBoZXIKCQlLZXkgYWVzS2V5ID0gbmV3IFNlY3JldEtleVNwZWMoa2V5LmdldEJ5dGVzKCksICJBRVMiKTsKCQlDaXBoZXIgY2lwaGVyID0gQ2lwaGVyLmdldEluc3RhbmNlKCJBRVMiKTsKCQkvLyBlbmNyeXB0IHRoZSB0ZXh0CgkJY2lwaGVyLmluaXQoQ2lwaGVyLkVOQ1JZUFRfTU9ERSwgYWVzS2V5KTsKCQlieXRlW10gZW5jcnlwdGVkID0gY2lwaGVyLmRvRmluYWwodGV4dC5nZXRCeXRlcygpKTsKCQlTdHJpbmcgZT1uZXcgU3RyaW5nKGVuY3J5cHRlZCk7CgkJYnl0ZVtdIGVuY3J5cHRlZDEgPSBjaXBoZXIuZG9GaW5hbChlLmdldEJ5dGVzKCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihlbmNyeXB0ZWQubGVuZ3RoKyIgIitlbmNyeXB0ZWQxLmxlbmd0aCk7CgkJU3lzdGVtLm91dC5wcmludGxuKGUpOwoJCS8vIGRlY3J5cHQgdGhlIHRleHQKCQljaXBoZXIuaW5pdChDaXBoZXIuREVDUllQVF9NT0RFLCBhZXNLZXkpOwoJCVN0cmluZyBkZWNyeXB0ZWQgPSBuZXcgU3RyaW5nKGNpcGhlci5kb0ZpbmFsKGVuY3J5cHRlZCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihkZWNyeXB0ZWQpOwoJfQp9