package com.worklight.androidgap.jsonstore.security;

import android.os.Build.VERSION;
import com.worklight.nativeandroid.common.WLUtils;
import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;

public class SecurityUtils
{
  private static final int BYTES_TO_BITS = 8;
  private static final int KEY_SIZE_AES256 = 32;
  protected static final int PBKDF2_ITERATIONS = 10000;

  public static byte[] decode(String paramString1, String paramString2, String paramString3)
    throws Exception
  {
    String str = FipsWrapper.decryptAES(paramString1, paramString3, WLUtils.hexStringToByteArray(paramString2));
    if ((str == null) || (str.length() == 0))
      throw new BadPaddingException("Decryption failed");
    return str.getBytes();
  }

  public static String encodeBytesAsHexString(byte[] paramArrayOfByte)
  {
    StringBuilder localStringBuilder = new StringBuilder();
    if (paramArrayOfByte != null)
    {
      int i = paramArrayOfByte.length;
      for (int j = 0; j < i; j++)
      {
        byte b = paramArrayOfByte[j];
        Object[] arrayOfObject = new Object[1];
        arrayOfObject[0] = Byte.valueOf(b);
        localStringBuilder.append(String.format("%02X", arrayOfObject));
      }
    }
    return localStringBuilder.toString();
  }

  public static String encodeKeyAsHexString(SecretKey paramSecretKey)
  {
    return encodeBytesAsHexString(paramSecretKey.getEncoded());
  }

  public static byte[] encrypt(String paramString1, String paramString2, String paramString3)
    throws Exception
  {
    return FipsWrapper.encryptAES(paramString1, paramString3, paramString2);
  }

  public static byte[] generateIV(int paramInt)
  {
    byte[] arrayOfByte = new byte[paramInt];
    new SecureRandom().nextBytes(arrayOfByte);
    return arrayOfByte;
  }

  public static SecretKey generateKey(String paramString1, String paramString2)
    throws Exception
  {
    return generateKey(paramString1, paramString2, 10000, 32);
  }

  public static SecretKey generateKey(String paramString1, String paramString2, int paramInt1, int paramInt2)
    throws Exception
  {
    if (Build.VERSION.SDK_INT >= 19);
    for (SecretKeyFactory localSecretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1And8bit"); ; localSecretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"))
      return localSecretKeyFactory.generateSecret(new PBEKeySpec(paramString1.toCharArray(), paramString2.getBytes("UTF-8"), paramInt1, paramInt2 * 8));
  }

  public static byte[] generateLocalKey(int paramInt)
  {
    byte[] arrayOfByte = new byte[paramInt];
    new SecureRandom().nextBytes(arrayOfByte);
    return arrayOfByte;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.worklight.androidgap.jsonstore.security.SecurityUtils
 * JD-Core Version:    0.6.2
 */