AES.smali
.class public Lcom/cleanmaster/commons/AES;
.super Ljava/lang/Object;
.source "AES.java"
# instance fields
.field private ivSpec:Ljavax/crypto/spec/IvParameterSpec;
.field private keySpec:Ljavax/crypto/spec/SecretKeySpec;
# direct methods
.method public constructor <init>([B)V
.registers 5
.prologue
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
const/16 v0, 0x10
:try_start_5
new-array v1, v0, [B
.line 20
const/4 v0, 0x0
:goto_8
array-length v2, p1
if-ge v0, v2, :cond_15
array-length v2, v1
if-ge v0, v2, :cond_15
.line 21
aget-byte v2, p1, v0
aput-byte v2, v1, v0
.line 20
add-int/lit8 v0, v0, 0x1
goto :goto_8
.line 24
:cond_15
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
const-string v2, "AES"
invoke-direct {v0, v1, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
iput-object v0, p0, Lcom/cleanmaster/commons/AES;->keySpec:Ljavax/crypto/spec/SecretKeySpec;
.line 25
new-instance v0, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v0, p1}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
iput-object v0, p0, Lcom/cleanmaster/commons/AES;->ivSpec:Ljavax/crypto/spec/IvParameterSpec;
:try_end_25
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_25} :catch_26
.line 29
:goto_25
return-void
.line 26
:catch_26
move-exception v0
.line 27
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_25
.end method
# virtual methods
.method public decrypt([B)[B
.registers 6
.prologue
.line 46
:try_start_0
const-string v0, "AES/CBC/PKCS5Padding"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
.line 47
const/4 v1, 0x2
iget-object v2, p0, Lcom/cleanmaster/commons/AES;->keySpec:Ljavax/crypto/spec/SecretKeySpec;
iget-object v3, p0, Lcom/cleanmaster/commons/AES;->ivSpec:Ljavax/crypto/spec/IvParameterSpec;
invoke-virtual {v0, v1, v2, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 48
invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_11
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_11} :catch_13
.catch Ljava/lang/NoSuchMethodError; {:try_start_0 .. :try_end_11} :catch_19
move-result-object v0
.line 54
:goto_12
return-object v0
.line 49
:catch_13
move-exception v0
.line 50
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 54
:goto_17
const/4 v0, 0x0
goto :goto_12
.line 51
:catch_19
move-exception v0
.line 52
invoke-virtual {v0}, Ljava/lang/NoSuchMethodError;->printStackTrace()V
goto :goto_17
.end method
.method public encrypt([B)[B
.registers 6
.prologue
.line 33
:try_start_0
const-string v0, "AES/CBC/PKCS5Padding"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
.line 34
const/4 v1, 0x1
iget-object v2, p0, Lcom/cleanmaster/commons/AES;->keySpec:Ljavax/crypto/spec/SecretKeySpec;
iget-object v3, p0, Lcom/cleanmaster/commons/AES;->ivSpec:Ljavax/crypto/spec/IvParameterSpec;
invoke-virtual {v0, v1, v2, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 35
invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_11
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_11} :catch_13
.catch Ljava/lang/NoSuchMethodError; {:try_start_0 .. :try_end_11} :catch_19
move-result-object v0
.line 41
:goto_12
return-object v0
.line 36
:catch_13
move-exception v0
.line 37
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 41
:goto_17
const/4 v0, 0x0
goto :goto_12
.line 38
:catch_19
move-exception v0
.line 39
invoke-virtual {v0}, Ljava/lang/NoSuchMethodError;->printStackTrace()V
goto :goto_17
.end method