a.smali
.class public final Lcom/baidu/techain/b/a;
.super Ljava/lang/Object;
# direct methods
.method public static a([B[B)[B
.registers 8
const/16 v5, 0x10
const/4 v0, 0x0
:try_start_3
new-instance v1, Ljavax/crypto/spec/SecretKeySpec;
const-string v2, "AES"
invoke-direct {v1, p0, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string v2, "AES/CBC/PKCS7Padding"
invoke-static {v2}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v2
const/16 v3, 0x10
new-array v3, v3, [B
:goto_14
if-ge v0, v5, :cond_1c
const/4 v4, 0x0
aput-byte v4, v3, v0
add-int/lit8 v0, v0, 0x1
goto :goto_14
:cond_1c
new-instance v0, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v0, v3}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v3, 0x1
invoke-virtual {v2, v3, v1, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
invoke-virtual {v2, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v1
invoke-static {p1}, Lcom/baidu/techain/b/b;->a([B)[B
move-result-object v2
array-length v0, v1
array-length v3, v2
add-int/2addr v0, v3
new-array v0, v0, [B
const/4 v3, 0x0
const/4 v4, 0x0
array-length v5, v1
invoke-static {v1, v3, v0, v4, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
const/4 v3, 0x0
array-length v1, v1
array-length v4, v2
invoke-static {v2, v3, v0, v1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:try_end_3e
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3e} :catch_3f
:goto_3e
return-object v0
:catch_3f
move-exception v0
const/4 v0, 0x0
goto :goto_3e
.end method
.method public static b([B[B)[B
.registers 8
const/16 v5, 0x10
const/4 v0, 0x0
:try_start_3
new-instance v1, Ljavax/crypto/spec/SecretKeySpec;
const-string v2, "AES"
invoke-direct {v1, p0, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string v2, "AES/CBC/PKCS7Padding"
invoke-static {v2}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v2
const/16 v3, 0x10
new-array v3, v3, [B
:goto_14
if-ge v0, v5, :cond_1c
const/4 v4, 0x0
aput-byte v4, v3, v0
add-int/lit8 v0, v0, 0x1
goto :goto_14
:cond_1c
new-instance v0, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v0, v3}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v3, 0x2
invoke-virtual {v2, v3, v1, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
array-length v0, p1
add-int/lit8 v0, v0, -0x10
new-array v0, v0, [B
const/4 v1, 0x0
const/4 v3, 0x0
array-length v4, p1
add-int/lit8 v4, v4, -0x10
invoke-static {p1, v1, v0, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-virtual {v2, v0}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_35
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_35} :catch_37
move-result-object v0
:goto_36
return-object v0
:catch_37
move-exception v0
const/4 v0, 0x0
goto :goto_36
.end method