a.smali

.class public final Lcom/cmcm/safewallet/data/e/a;
.super Ljava/lang/Object;
.source "AesWrapper.java"


# instance fields
.field public ZM:[B

.field public ZN:[B

.field public ZO:Ljava/lang/String;


# direct methods
.method public constructor <init>()V
    .registers 2

    .prologue
    .line 20
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 15
    const/16 v0, 0x20

    new-array v0, v0, [B

    fill-array-data v0, :array_1a

    iput-object v0, p0, Lcom/cmcm/safewallet/data/e/a;->ZM:[B

    .line 16
    const/16 v0, 0x10

    new-array v0, v0, [B

    fill-array-data v0, :array_2e

    iput-object v0, p0, Lcom/cmcm/safewallet/data/e/a;->ZN:[B

    .line 18
    const-string v0, "AES/CBC/PKCS5Padding"

    iput-object v0, p0, Lcom/cmcm/safewallet/data/e/a;->ZO:Ljava/lang/String;

    .line 22
    return-void

    .line 15
    :array_1a
    .array-data 1
        0x6ct
        0x1ct
        0x31t
        0x30t
        0x54t
        0x3bt
        0x2dt
        0x30t
        0x4t
        0x42t
        0x24t
        0x15t
        0x2ft
        0x4dt
        0x1dt
        0x50t
        0x78t
        0x1t
        0x26t
        0x13t
        0x4t
        0x2et
        0x7ct
        0xet
        0x2et
        0x18t
        0x73t
        0x61t
        0x6t
        0x8t
        0x52t
        0x5t
    .end array-data

    .line 16
    :array_2e
    .array-data 1
        -0x2ft
        -0x27t
        -0x64t
        -0x57t
        -0x49t
        -0x14t
        0x7t
        0x8t
        -0x38t
        0x3et
        -0x34t
        -0x5ct
        -0x4at
        0x35t
        -0x25t
        -0xft
    .end array-data
.end method

.method public static u([B)Ljava/lang/String;
    .registers 6

    .prologue
    .line 83
    if-nez p0, :cond_5

    .line 84
    const-string v0, ""

    .line 89
    :goto_4
    return-object v0

    .line 85
    :cond_5
    new-instance v1, Ljava/lang/StringBuffer;

    array-length v0, p0

    mul-int/lit8 v0, v0, 0x2

    invoke-direct {v1, v0}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 86
    const/4 v0, 0x0

    :goto_e
    array-length v2, p0

    if-ge v0, v2, :cond_35

    .line 87
    aget-byte v2, p0, v0

    .line 1093
    const-string v3, "0123456789ABCDEF"

    shr-int/lit8 v4, v2, 0x4

    and-int/lit8 v4, v4, 0xf

    invoke-virtual {v3, v4}, Ljava/lang/String;->charAt(I)C

    move-result v3

    invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    move-result-object v3

    const-string v4, "0123456789ABCDEF"

    and-int/lit8 v2, v2, 0xf

    invoke-virtual {v4, v2}, Ljava/lang/String;->charAt(I)C

    move-result v2

    invoke-virtual {v3, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    move-result-object v2

    const/16 v3, 0x20

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 86
    add-int/lit8 v0, v0, 0x1

    goto :goto_e

    .line 89
    :cond_35
    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v0

    goto :goto_4
.end method


# virtual methods
.method public final decode([B)[B
    .registers 9

    .prologue
    .line 62
    :try_start_0
    iget-object v0, p0, Lcom/cmcm/safewallet/data/e/a;->ZO:Ljava/lang/String;

    invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;

    move-result-object v0

    .line 63
    const/4 v1, 0x2

    new-instance v2, Ljavax/crypto/spec/SecretKeySpec;

    iget-object v3, p0, Lcom/cmcm/safewallet/data/e/a;->ZM:[B

    const-string v4, "AES"

    invoke-direct {v2, v3, v4}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V

    new-instance v3, Ljavax/crypto/spec/IvParameterSpec;

    iget-object v4, p0, Lcom/cmcm/safewallet/data/e/a;->ZN:[B

    const/4 v5, 0x0

    .line 65
    invoke-virtual {v0}, Ljavax/crypto/Cipher;->getBlockSize()I

    move-result v6

    invoke-direct {v3, v4, v5, v6}, Ljavax/crypto/spec/IvParameterSpec;-><init>([BII)V

    .line 63
    invoke-virtual {v0, v1, v2, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V

    .line 66
    invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
    :try_end_22
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_22} :catch_24

    move-result-object v0

    .line 71
    :goto_23
    return-object v0

    .line 69
    :catch_24
    move-exception v0

    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 71
    const/4 v0, 0x0

    goto :goto_23
.end method

.method public final encode([B)[B
    .registers 9

    .prologue
    .line 47
    :try_start_0
    iget-object v0, p0, Lcom/cmcm/safewallet/data/e/a;->ZO:Ljava/lang/String;

    invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;

    move-result-object v0

    .line 48
    const/4 v1, 0x1

    new-instance v2, Ljavax/crypto/spec/SecretKeySpec;

    iget-object v3, p0, Lcom/cmcm/safewallet/data/e/a;->ZM:[B

    const-string v4, "AES"

    invoke-direct {v2, v3, v4}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V

    new-instance v3, Ljavax/crypto/spec/IvParameterSpec;

    iget-object v4, p0, Lcom/cmcm/safewallet/data/e/a;->ZN:[B

    const/4 v5, 0x0

    .line 50
    invoke-virtual {v0}, Ljavax/crypto/Cipher;->getBlockSize()I

    move-result v6

    invoke-direct {v3, v4, v5, v6}, Ljavax/crypto/spec/IvParameterSpec;-><init>([BII)V

    .line 48
    invoke-virtual {v0, v1, v2, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V

    .line 51
    invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
    :try_end_22
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_22} :catch_24

    move-result-object v0

    .line 56
    :goto_23
    return-object v0

    .line 54
    :catch_24
    move-exception v0

    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 56
    const/4 v0, 0x0

    goto :goto_23
.end method