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