/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
try (Scanner x
= new Scanner
("new new new new" + System.
lineSeparator() + "old old old old");) { int keyItr = 0;
while (x.hasNext()) {
if (x.hasNext()) {
}
for (int i = 0; i < a.length(); i++) {
// XOR
int temp = a.charAt(i) ^ key.charAt(keyItr);
encrypHexa
+= String.
format("%02x",
(byte) temp
); keyItr++;
if (keyItr == key.length()) {
keyItr = 0;
}
}
}
}
System.
out.
println("Encrypted is: " + encrypHexa
); return encrypHexa;
}
try (Scanner x = new Scanner(f)) {
while (x.hasNext()) {
for (int i = 0; i < a.length() - 1; i += 2) {
String output
= a.
substring(i, i
+ 2);
int decimal
= Integer.
parseInt(output,
16);
hexiToDeci += (char) decimal;
}
// Decrypt with XOR
int keyItr = 0;
for (int i = 0; i < hexiToDeci.length(); i++) {
// XOR
int temp = hexiToDeci.charAt(i) ^ key.charAt(keyItr);
decrypText += (char) temp;
keyItr++;
if (keyItr == key.length()) {
keyItr = 0;
}
}
}
}
System.
out.
println("Decrypted is: " + decrypText
); }
{
String key
= "Qwertyuiop[123$4$567]"; decrypt(x, key);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJc3RhdGljIFN0cmluZyBlbmNyeXB0KFN0cmluZyBrZXkpIHsKCQlTdHJpbmcgZW5jcnlwSGV4YSA9ICIiOwoJCXRyeSAoU2Nhbm5lciB4ID0gbmV3IFNjYW5uZXIoIm5ldyBuZXcgbmV3IG5ldyIgKyBTeXN0ZW0ubGluZVNlcGFyYXRvcigpICsgIm9sZCBvbGQgb2xkIG9sZCIpOykgewoJCQlpbnQga2V5SXRyID0gMDsKCQkJd2hpbGUgKHguaGFzTmV4dCgpKSB7CgkJCQlTdHJpbmcgYSA9IHgubmV4dExpbmUoKTsKCgkJCQlpZiAoeC5oYXNOZXh0KCkpIHsKCQkJCQlhICs9IFN5c3RlbS5saW5lU2VwYXJhdG9yKCk7CgkJCQl9CgoJCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBhLmxlbmd0aCgpOyBpKyspIHsKCQkJCQkvLyBYT1IKCQkJCQlpbnQgdGVtcCA9IGEuY2hhckF0KGkpIF4ga2V5LmNoYXJBdChrZXlJdHIpOwoKCQkJCQllbmNyeXBIZXhhICs9IFN0cmluZy5mb3JtYXQoIiUwMngiLCAoYnl0ZSkgdGVtcCk7CgkJCQkJa2V5SXRyKys7CgkJCQkJaWYgKGtleUl0ciA9PSBrZXkubGVuZ3RoKCkpIHsKCQkJCQkJa2V5SXRyID0gMDsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKCJFbmNyeXB0ZWQgaXM6ICIgKyBlbmNyeXBIZXhhKTsKCQlyZXR1cm4gZW5jcnlwSGV4YTsKCX0KCglzdGF0aWMgdm9pZCBkZWNyeXB0KFN0cmluZyBmLCBTdHJpbmcga2V5KSB7CgkJU3RyaW5nIGhleGlUb0RlY2kgPSAiIjsKCQlTdHJpbmcgZGVjcnlwVGV4dCA9ICIiOwoJCXRyeSAoU2Nhbm5lciB4ID0gbmV3IFNjYW5uZXIoZikpIHsKCQkJd2hpbGUgKHguaGFzTmV4dCgpKSB7CgoJCQkJU3RyaW5nIGEgPSB4Lm5leHRMaW5lKCk7CgoJCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBhLmxlbmd0aCgpIC0gMTsgaSArPSAyKSB7CgoJCQkJCVN0cmluZyBvdXRwdXQgPSBhLnN1YnN0cmluZyhpLCBpICsgMik7CgoJCQkJCWludCBkZWNpbWFsID0gSW50ZWdlci5wYXJzZUludChvdXRwdXQsIDE2KTsKCgkJCQkJaGV4aVRvRGVjaSArPSAoY2hhcikgZGVjaW1hbDsKCgkJCQl9CgkJCQkvLyBEZWNyeXB0IHdpdGggWE9SCgkJCQlpbnQga2V5SXRyID0gMDsKCQkJCWZvciAoaW50IGkgPSAwOyBpIDwgaGV4aVRvRGVjaS5sZW5ndGgoKTsgaSsrKSB7CgkJCQkJLy8gWE9SCgkJCQkJaW50IHRlbXAgPSBoZXhpVG9EZWNpLmNoYXJBdChpKSBeIGtleS5jaGFyQXQoa2V5SXRyKTsKCQkJCQlkZWNyeXBUZXh0ICs9IChjaGFyKSB0ZW1wOwoJCQkJCWtleUl0cisrOwoJCQkJCWlmIChrZXlJdHIgPT0ga2V5Lmxlbmd0aCgpKSB7CgkJCQkJCWtleUl0ciA9IDA7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiRGVjcnlwdGVkIGlzOiAiICsgZGVjcnlwVGV4dCk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBrZXkgPSAiUXdlcnR5dWlvcFsxMjMkNCQ1NjddIjsKCQlTdHJpbmcgeCA9IGVuY3J5cHQoa2V5KTsKCQlkZWNyeXB0KHgsIGtleSk7Cgl9Cn0=