import java.security.Key; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; public class derp { private static final String METHOD = "AES/ECB/PKCS5Padding"; private static final String SECRET_KEY = "0123456789012345"; public static byte[] Cipher_Encode(byte[] arrby) { SecretKeySpec secretKeySpec = new SecretKeySpec(SECRET_KEY.getBytes(), "AES"); try { Cipher cipher = Cipher.getInstance(METHOD); cipher.init(1, secretKeySpec); return cipher.doFinal(arrby); } catch (Exception exception) { return null; } } } public static String Base64_Encode(byte[] arrobject) { int n2; String[] arrstring = new String[64]; int n3 = 0; arrstring[0] = "A"; arrstring[1] = "B"; arrstring[2] = "C"; arrstring[3] = "D"; arrstring[4] = "E"; arrstring[5] = "F"; arrstring[6] = "G"; arrstring[7] = "H"; arrstring[8] = "I"; arrstring[9] = "J"; arrstring[10] = "K"; arrstring[11] = "L"; arrstring[12] = "M"; arrstring[13] = "N"; arrstring[14] = "O"; arrstring[15] = "P"; arrstring[16] = "Q"; arrstring[17] = "R"; arrstring[18] = "S"; arrstring[19] = "T"; arrstring[20] = "U"; arrstring[21] = "V"; arrstring[22] = "W"; arrstring[23] = "X"; arrstring[24] = "Y"; arrstring[25] = "Z"; arrstring[26] = "a"; arrstring[27] = "b"; arrstring[28] = "c"; arrstring[29] = "d"; arrstring[30] = "e"; arrstring[31] = "f"; arrstring[32] = "g"; arrstring[33] = "h"; arrstring[34] = "i"; arrstring[35] = "j"; arrstring[36] = "k"; arrstring[37] = "l"; arrstring[38] = "m"; arrstring[39] = "n"; arrstring[40] = "o"; arrstring[41] = "p"; arrstring[42] = "q"; arrstring[43] = "r"; arrstring[44] = "s"; arrstring[45] = "t"; arrstring[46] = "u"; arrstring[47] = "v"; arrstring[48] = "w"; arrstring[49] = "x"; arrstring[50] = "y"; arrstring[51] = "z"; arrstring[52] = "0"; arrstring[53] = "1"; arrstring[54] = "2"; arrstring[55] = "3"; arrstring[56] = "4"; arrstring[57] = "5"; arrstring[58] = "6"; arrstring[59] = "7"; arrstring[60] = "8"; arrstring[61] = "9"; arrstring[62] = "+"; arrstring[63] = "/"; System.currentTimeMillis(); String[] arrstring2 = derp.Division(derp.Base64_Encode_Part3(arrobject), 6, "0"); for (n2 = 0; n2 < arrstring2.length; ++n2) { int n4 = Integer.parseInt(arrstring2[n2], 2); if (n4 < 0 || n4 >= arrstring.length) continue; arrstring2[n2] = arrstring[n4]; } arrobject = arrstring2; if (arrstring2.length % 4 == 0) return derp.Implode((String[])arrobject, ""); arrobject = new String[arrstring2.length + 4 - arrstring2.length % 4]; n2 = n3; do { n3 = ++n2; if (n2 >= arrstring2.length) { while (n3 < arrobject.length) { arrobject[n3] = (byte)"="; ++n3; } return derp.Implode((String[])arrobject, ""); } arrobject[n2] = (byte)arrstring2[n2]; } while (true); } public static String Base64_Encode_Part3(byte[] arrby) { StringBuffer stringBuffer = new StringBuffer(); int n2 = 0; while (n2 < arrby.length) { String string2 = Integer.toBinaryString(arrby[n2] & 255); for (int i2 = string2.length(); i2 < 8; ++i2) { stringBuffer.append("0"); } stringBuffer.append(string2); ++n2; } return stringBuffer.toString(); } public static String[] Division(String string2, int n2) { System.currentTimeMillis(); int n3 = string2.length(); String[] arrstring = new String[n3 / n2]; int n4 = 0; int n5 = 0; int n6; while ((n6 = n3 - n4) >= n2) { if (n6 < n2) { arrstring[n5] = string2.substring(n4, n3); return arrstring; } n6 = n2 + n4; arrstring[n5] = string2.substring(n4, n6); ++n5; n4 = n6; } return arrstring; } public static String[] Division(String charSequence, int n2, String string2) { System.currentTimeMillis(); int n3 = 0; boolean bl2 = string2 != null && string2.length() > 0; int n4 = ((String)charSequence).length(); String[] arrstring = new String[(n4 + n2 - 1) / n2]; int n5 = 0; int n6; while ((n6 = n4 - n3) > 0) { if (n6 < n2) { arrstring[n5] = ((String)charSequence).substring(n3, n4); if (!bl2) return arrstring; while (arrstring[n5].length() < n2) { charSequence = new StringBuilder(); ((StringBuilder)charSequence).append(arrstring[n5]); ((StringBuilder)charSequence).append(string2); arrstring[n5] = ((StringBuilder)charSequence).toString(); } return arrstring; } n6 = n2 + n3; arrstring[n5] = ((String)charSequence).substring(n3, n6); ++n5; n3 = n6; } return arrstring; } public static String Implode(String[] arrstring, String string2) { StringBuffer stringBuffer = new StringBuffer(); int n2 = 0; while (n2 < arrstring.length) { stringBuffer.append(arrstring[n2]); if (n2 < arrstring.length - 1) { stringBuffer.append(string2); } ++n2; } return stringBuffer.toString(); }