private static String DB_PATH = "/data/data/edu.sharif.ctf/databases/"; public class KeyVerifier { public static final String CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding"; public static final String VALID_LICENCE = "29a002d9340fc4bd54492f327269f3e051619b889dc8da723e135ce486965d84"; public static String bytesToHexString(byte[] paramArrayOfByte) { StringBuilder localStringBuilder = new StringBuilder(); int i = paramArrayOfByte.length; for (int j = 0;; j++) { if (j >= i) { return localStringBuilder.toString(); } int k = paramArrayOfByte[j]; Object[] arrayOfObject = new Object[1]; arrayOfObject[0] = Integer.valueOf(k & 0xFF); localStringBuilder.append(String.format("%02x", arrayOfObject)); } } public static String encrypt(String paramString1, String paramString2, String paramString3) { try { SecretKeySpec localSecretKeySpec = new SecretKeySpec(hexStringToBytes(paramString2), "AES"); Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); localCipher.init(1, localSecretKeySpec, new IvParameterSpec(paramString3.getBytes())); String str = bytesToHexString(localCipher.doFinal(paramString1.getBytes())); return str; } catch (Exception localException) { localException.printStackTrace(); } return ""; } public static byte[] hexStringToBytes(String paramString) { int i = paramString.length(); byte[] arrayOfByte = new byte[i / 2]; for (int j = 0;; j += 2) { if (j >= i) { return arrayOfByte; } arrayOfByte[(j / 2)] = ((byte)((Character.digit(paramString.charAt(j), 16) << 4) + Character.digit(paramString.charAt(j + 1), 16))); } } public static boolean isValidLicenceKey(String paramString1, String paramString2, String paramString3) { return encrypt(paramString1, paramString2, paramString3).equals("29a002d9340fc4bd54492f327269f3e051619b889dc8da723e135ce486965d84"); } } if (KeyVerifier.isValidLicenceKey(localEditText.getText().toString(), MainActivity.this.app.getDataHelper().getConfig().getSecurityKey(), MainActivity.this.app.getDataHelper().getConfig().getSecurityIv())) { MainActivity.this.app.getDataHelper().updateLicence(2014); MainActivity.isRegisterd = true; MainActivity.this.showAlertDialog(paramContext, "Thank you, Your application has full licence. Enjoy it...!"); return; }