a.smali
.class public Lcom/ta/utdid2/b/a/a;
.super Ljava/lang/Object;
.source "AESUtils.java"
# static fields
.field public static a:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
const/16 v0, 0x20
.line 1
new-array v0, v0, [B
fill-array-data v0, :array_a
sput-object v0, Lcom/ta/utdid2/b/a/a;->a:[B
return-void
:array_a
.array-data 1
0x30t
0x30t
0x31t
0x37t
0x44t
0x43t
0x31t
0x42t
0x45t
0x32t
0x32t
0x35t
0x38t
0x35t
0x35t
0x34t
0x43t
0x46t
0x30t
0x32t
0x43t
0x35t
0x37t
0x42t
0x37t
0x38t
0x45t
0x37t
0x34t
0x30t
0x41t
0x35t
.end array-data
.end method
.method public static a([B)Ljava/lang/String;
.registers 4
if-nez p0, :cond_5
const-string p0, ""
return-object p0
.line 11
:cond_5
new-instance v0, Ljava/lang/StringBuffer;
array-length v1, p0
mul-int/lit8 v1, v1, 0x2
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(I)V
const/4 v1, 0x0
.line 12
:goto_e
array-length v2, p0
if-lt v1, v2, :cond_16
.line 13
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 14
:cond_16
aget-byte v2, p0, v1
invoke-static {v0, v2}, Lcom/ta/utdid2/b/a/a;->a(Ljava/lang/StringBuffer;B)V
add-int/lit8 v1, v1, 0x1
goto :goto_e
.end method
.method private static a(Ljava/lang/StringBuffer;B)V
.registers 4
shr-int/lit8 v0, p1, 0x4
and-int/lit8 v0, v0, 0xf
const-string v1, "0123456789ABCDEF"
.line 15
invoke-virtual {v1, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
and-int/lit8 p1, p1, 0xf
invoke-virtual {v1, p1}, Ljava/lang/String;->charAt(I)C
move-result p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
return-void
.end method
.method public static a(Ljava/lang/String;)[B
.registers 6
.line 8
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
div-int/lit8 v0, v0, 0x2
.line 9
new-array v1, v0, [B
const/4 v2, 0x0
:goto_9
if-lt v2, v0, :cond_c
return-object v1
:cond_c
mul-int/lit8 v3, v2, 0x2
add-int/lit8 v4, v3, 0x2
.line 10
invoke-virtual {p0, v3, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
const/16 v4, 0x10
invoke-static {v3, v4}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Integer;->byteValue()B
move-result v3
aput-byte v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_9
.end method
.method private static a([B)[B
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-instance p0, Ljava/lang/String;
sget-object v0, Lcom/ta/utdid2/b/a/a;->a:[B
const/4 v1, 0x0
const/16 v2, 0x20
invoke-direct {p0, v0, v1, v2}, Ljava/lang/String;-><init>([BII)V
invoke-static {p0}, Lcom/ta/utdid2/b/a/a;->a(Ljava/lang/String;)[B
move-result-object p0
return-object p0
.end method
.method private static a([B[B)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
const-string v1, "AES"
invoke-direct {v0, p0, v1}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string p0, "AES/CBC/PKCS5Padding"
.line 3
invoke-static {p0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object p0
.line 4
new-instance v1, Ljavax/crypto/spec/IvParameterSpec;
.line 5
invoke-virtual {p0}, Ljavax/crypto/Cipher;->getBlockSize()I
move-result v2
new-array v2, v2, [B
invoke-direct {v1, v2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v2, 0x1
.line 6
invoke-virtual {p0, v2, v0, v1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 7
invoke-virtual {p0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object p0
return-object p0
.end method
.method private static b([B[B)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
const-string v1, "AES"
invoke-direct {v0, p0, v1}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string p0, "AES/CBC/PKCS5Padding"
.line 2
invoke-static {p0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object p0
.line 3
new-instance v1, Ljavax/crypto/spec/IvParameterSpec;
.line 4
invoke-virtual {p0}, Ljavax/crypto/Cipher;->getBlockSize()I
move-result v2
new-array v2, v2, [B
invoke-direct {v1, v2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v2, 0x2
.line 5
invoke-virtual {p0, v2, v0, v1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 6
invoke-virtual {p0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object p0
return-object p0
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 3
const/4 v0, 0x0
.line 1
:try_start_1
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object p0
invoke-static {p0}, Lcom/ta/utdid2/b/a/a;->a([B)[B
move-result-object p0
.line 2
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
invoke-static {p0, p1}, Lcom/ta/utdid2/b/a/a;->a([B[B)[B
move-result-object p0
:try_end_11
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_11} :catch_12
goto :goto_13
:catch_12
move-object p0, v0
:goto_13
if-eqz p0, :cond_1a
.line 3
invoke-static {p0}, Lcom/ta/utdid2/b/a/a;->a([B)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_1a
return-object v0
.end method
.method public static e(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 2
.line 1
:try_start_0
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object p0
invoke-static {p0}, Lcom/ta/utdid2/b/a/a;->a([B)[B
move-result-object p0
.line 2
invoke-static {p1}, Lcom/ta/utdid2/b/a/a;->a(Ljava/lang/String;)[B
move-result-object p1
.line 3
invoke-static {p0, p1}, Lcom/ta/utdid2/b/a/a;->b([B[B)[B
move-result-object p0
.line 4
new-instance p1, Ljava/lang/String;
invoke-direct {p1, p0}, Ljava/lang/String;-><init>([B)V
:try_end_15
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_15} :catch_16
return-object p1
:catch_16
const/4 p0, 0x0
return-object p0
.end method