AESUtil.smali
.class public final Lcom/baidu/android/common/security/AESUtil;
.super Ljava/lang/Object;
# direct methods
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static decrypt(Ljava/lang/String;Ljava/lang/String;[B)[B
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
const-string v2, "AES"
invoke-direct {v0, v1, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string v1, "AES/CBC/PKCS5Padding"
invoke-static {v1}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v1
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v3
invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v3, 0x2
invoke-virtual {v1, v3, v0, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
invoke-virtual {v1, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v0
return-object v0
.end method
.method public static encrypt(Ljava/lang/String;Ljava/lang/String;[B)[B
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
const-string v2, "AES"
invoke-direct {v0, v1, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
const-string v1, "AES/CBC/PKCS5Padding"
invoke-static {v1}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v1
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v3
invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
const/4 v3, 0x1
invoke-virtual {v1, v3, v0, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
invoke-virtual {v1, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v0
return-object v0
.end method