/* 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
{
{
char[] HEX = new char[]{
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
String key
= "sambosivasambo"; char[] msg = "http://i...content-available-to-author-only...e.com/ccyQd8".toCharArray();
char temp;
StringBuilder cipher = new StringBuilder();
for(int i=0, l = msg.length, l1 = key.length()-1; i < l; i++) {
temp = key.charAt(l1 % (i+1));
cipher.append((char)(temp ^ msg[i]));
}
byte[] byteArray = cipher.toString().getBytes("UTF-8");
System.
out.
println("byteArray: "+ byteArray
); for (int i = 0; i < byteArray.length; i++)
for (int j = 1; j >= 0; j--)
hexBuffer.append(HEX[(byteArray[i] >> (j * 4)) & 0xF]);
System.
out.
println(" cipher : " + hexBuffer.
toString()); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCQogIGNoYXJbXSBIRVggPSBuZXcgY2hhcltdewoJICAgICAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsCgkgICAgICAnOCcsICc5JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJyB9OwoJICAgICAgCiAJCVN0cmluZyBrZXkgPSAic2FtYm9zaXZhc2FtYm8iOwoJCWNoYXJbXSBtc2cgPSAiaHR0cDovL2kuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL2NjeVFkOCIudG9DaGFyQXJyYXkoKTsKCQljaGFyIHRlbXA7CgkJU3RyaW5nQnVpbGRlciBjaXBoZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwoJCWZvcihpbnQgaT0wLCBsID0gbXNnLmxlbmd0aCwgbDEgPSBrZXkubGVuZ3RoKCktMTsgaSA8IGw7IGkrKykgewogCQkJdGVtcCA9IGtleS5jaGFyQXQobDEgJSAoaSsxKSk7CiAJCQljaXBoZXIuYXBwZW5kKChjaGFyKSh0ZW1wIF4gbXNnW2ldKSk7CiAJCX0KIAkJYnl0ZVtdIGJ5dGVBcnJheSA9IGNpcGhlci50b1N0cmluZygpLmdldEJ5dGVzKCJVVEYtOCIpOwogCQlTeXN0ZW0ub3V0LnByaW50bG4oImJ5dGVBcnJheTogIisgYnl0ZUFycmF5KTsKIAkJICBTdHJpbmdCdWZmZXIgaGV4QnVmZmVyID0gbmV3IFN0cmluZ0J1ZmZlcihieXRlQXJyYXkubGVuZ3RoICogMik7CiAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYnl0ZUFycmF5Lmxlbmd0aDsgaSsrKQogICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPj0gMDsgai0tKQogICAgICAgICAgICAgIGhleEJ1ZmZlci5hcHBlbmQoSEVYWyhieXRlQXJyYXlbaV0gPj4gKGogKiA0KSkgJiAweEZdKTsKIAkJU3lzdGVtLm91dC5wcmludGxuKCIgY2lwaGVyIDogIiArIGhleEJ1ZmZlci50b1N0cmluZygpKTsKCX0KfQ==