PhieuLang

AAAAA

Sep 26th, 2014
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.49 KB | None | 0 0
  1.  private static String DB_PATH = "/data/data/edu.sharif.ctf/databases/";
  2.  
  3. public class KeyVerifier
  4. {
  5.   public static final String CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding";
  6.   public static final String VALID_LICENCE = "29a002d9340fc4bd54492f327269f3e051619b889dc8da723e135ce486965d84";
  7.  
  8.   public static String bytesToHexString(byte[] paramArrayOfByte)
  9.   {
  10.     StringBuilder localStringBuilder = new StringBuilder();
  11.     int i = paramArrayOfByte.length;
  12.     for (int j = 0;; j++)
  13.     {
  14.       if (j >= i) {
  15.         return localStringBuilder.toString();
  16.       }
  17.       int k = paramArrayOfByte[j];
  18.       Object[] arrayOfObject = new Object[1];
  19.       arrayOfObject[0] = Integer.valueOf(k & 0xFF);
  20.       localStringBuilder.append(String.format("%02x", arrayOfObject));
  21.     }
  22.   }
  23.  
  24.   public static String encrypt(String paramString1, String paramString2, String paramString3)
  25.   {
  26.     try
  27.     {
  28.       SecretKeySpec localSecretKeySpec = new SecretKeySpec(hexStringToBytes(paramString2), "AES");
  29.       Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  30.       localCipher.init(1, localSecretKeySpec, new IvParameterSpec(paramString3.getBytes()));
  31.       String str = bytesToHexString(localCipher.doFinal(paramString1.getBytes()));
  32.       return str;
  33.     }
  34.     catch (Exception localException)
  35.     {
  36.       localException.printStackTrace();
  37.     }
  38.     return "";
  39.   }
  40.  
  41.   public static byte[] hexStringToBytes(String paramString)
  42.   {
  43.     int i = paramString.length();
  44.     byte[] arrayOfByte = new byte[i / 2];
  45.     for (int j = 0;; j += 2)
  46.     {
  47.       if (j >= i) {
  48.         return arrayOfByte;
  49.       }
  50.       arrayOfByte[(j / 2)] = ((byte)((Character.digit(paramString.charAt(j), 16) << 4) + Character.digit(paramString.charAt(j + 1), 16)));
  51.     }
  52.   }
  53.  
  54.   public static boolean isValidLicenceKey(String paramString1, String paramString2, String paramString3)
  55.   {
  56.     return encrypt(paramString1, paramString2, paramString3).equals("29a002d9340fc4bd54492f327269f3e051619b889dc8da723e135ce486965d84");
  57.   }
  58. }
  59.  
  60.  
  61.  
  62.  
  63. if (KeyVerifier.isValidLicenceKey(localEditText.getText().toString(), MainActivity.this.app.getDataHelper().getConfig().getSecurityKey(), MainActivity.this.app.getDataHelper().getConfig().getSecurityIv()))
  64.         {
  65.           MainActivity.this.app.getDataHelper().updateLicence(2014);
  66.           MainActivity.isRegisterd = true;
  67.           MainActivity.this.showAlertDialog(paramContext, "Thank you, Your application has full licence. Enjoy it...!");
  68.           return;
  69.         }
Advertisement
Add Comment
Please, Sign In to add comment