acw.smali
.class public abstract Ldxoptimizer/acw;
.super Ljava/lang/Object;
.source "CipherBase.java"
# instance fields
.field protected a:Ljavax/crypto/SecretKey;
.field protected b:Ljavax/crypto/Cipher;
.field protected c:Ljavax/crypto/Cipher;
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 8
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method protected static a(Ljava/lang/String;)Ljavax/crypto/Cipher;
.registers 2
.prologue
.line 22
.line 25
:try_start_0
invoke-static {p0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
:try_end_3
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_5
move-result-object v0
.line 30
:goto_4
return-object v0
.line 26
:catch_5
move-exception v0
.line 27
const/4 v0, 0x0
goto :goto_4
.end method
# virtual methods
.method protected a(Ljavax/crypto/SecretKey;Ljavax/crypto/Cipher;Ljavax/crypto/Cipher;)V
.registers 4
.prologue
.line 16
iput-object p1, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;
.line 17
iput-object p2, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;
.line 18
iput-object p3, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;
.line 19
return-void
.end method
.method public a([B[B)[B
.registers 10
.prologue
.line 34
if-eqz p1, :cond_5
array-length v0, p1
if-nez v0, :cond_7
:cond_5
move-object v0, p1
.line 49
:goto_6
return-object v0
.line 38
:cond_7
const/4 v1, 0x0
.line 40
:try_start_8
new-instance v0, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v0, p2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
.line 41
iget-object v2, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;
monitor-enter v2
:try_end_10
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_10} :catch_2e
.line 42
:try_start_10
iget-object v3, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;
const/4 v4, 0x1
iget-object v5, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;
invoke-virtual {v3, v4, v5, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 43
iget-object v0, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;
invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_1d
.catchall {:try_start_10 .. :try_end_1d} :catchall_33
move-result-object v0
.line 44
:try_start_1e
monitor-exit v2
:try_end_1f
.catchall {:try_start_1e .. :try_end_1f} :catchall_20
goto :goto_6
:catchall_20
move-exception v1
move-object v6, v1
move-object v1, v0
move-object v0, v6
:goto_24
:try_start_24
monitor-exit v2
:try_end_25
.catchall {:try_start_24 .. :try_end_25} :catchall_33
:try_start_25
throw v0
:try_end_26
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_26} :catch_26
.line 45
:catch_26
move-exception v0
move-object v6, v0
move-object v0, v1
move-object v1, v6
.line 46
:goto_2a
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_6
.line 45
:catch_2e
move-exception v0
move-object v6, v0
move-object v0, v1
move-object v1, v6
goto :goto_2a
.line 44
:catchall_33
move-exception v0
goto :goto_24
.end method
.method public b([B[B)[B
.registers 9
.prologue
.line 53
if-eqz p1, :cond_5
array-length v0, p1
if-nez v0, :cond_6
.line 68
:cond_5
:goto_5
return-object p1
.line 57
:cond_6
const/4 v0, 0x0
.line 59
:try_start_7
new-instance v1, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v1, p2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
.line 60
iget-object v2, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;
monitor-enter v2
:try_end_f
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_f} :catch_22
.line 61
:try_start_f
iget-object v3, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;
const/4 v4, 0x2
iget-object v5, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;
invoke-virtual {v3, v4, v5, v1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 62
iget-object v1, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;
invoke-virtual {v1, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object p1
monitor-exit v2
goto :goto_5
.line 63
:catchall_1f
move-exception v1
monitor-exit v2
:try_end_21
.catchall {:try_start_f .. :try_end_21} :catchall_1f
:try_start_21
throw v1
:try_end_22
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_22} :catch_22
.line 64
:catch_22
move-exception v1
.line 65
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
move-object p1, v0
.line 68
goto :goto_5
.end method