wn.smali
.class public final Ldxoptimizer/wn;
.super Ljava/lang/Object;
.source "EncryptionUtil.java"
# static fields
.field private static a:Ljavax/crypto/Cipher;
.field private static b:Ljavax/crypto/Cipher;
.field private static c:Ljava/security/KeyFactory;
# direct methods
.method public static declared-synchronized a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.annotation build Landroid/annotation/SuppressLint;
value = {
"TrulyRandom"
}
.end annotation
.prologue
.line 59
const-class v1, Ldxoptimizer/wn;
monitor-enter v1
if-eqz p0, :cond_f
:try_start_5
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
:try_end_c
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_c} :catch_3d
.catchall {:try_start_5 .. :try_end_c} :catchall_4a
move-result v0
if-nez v0, :cond_11
.line 72
:cond_f
:goto_f
monitor-exit v1
return-object p0
.line 62
:cond_11
:try_start_11
new-instance v0, Ljava/security/spec/X509EncodedKeySpec;
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object v2
invoke-static {v2}, Ldxoptimizer/crc;->c([B)[B
move-result-object v2
invoke-direct {v0, v2}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V
.line 63
invoke-static {}, Ldxoptimizer/wn;->c()Ljava/security/KeyFactory;
move-result-object v2
.line 64
invoke-virtual {v2, v0}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
move-result-object v0
.line 65
invoke-static {}, Ldxoptimizer/wn;->b()Ljavax/crypto/Cipher;
move-result-object v2
.line 66
const/4 v3, 0x1
invoke-virtual {v2, v3, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
.line 67
const-string v0, "utf-8"
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v2, v0}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v0
invoke-static {v0}, Ldxoptimizer/wn;->b([B)Ljava/lang/String;
:try_end_3b
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_3b} :catch_3d
.catchall {:try_start_11 .. :try_end_3b} :catchall_4a
move-result-object p0
goto :goto_f
.line 68
:catch_3d
move-exception v0
.line 69
:try_start_3e
sget-boolean v2, Ldxoptimizer/xa;->d:Z
if-eqz v2, :cond_f
.line 70
const-string v2, "stat.EncryptionUtil"
const-string v3, "Failed to encrypt via RSA."
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_49
.catchall {:try_start_3e .. :try_end_49} :catchall_4a
goto :goto_f
.line 59
:catchall_4a
move-exception v0
monitor-exit v1
throw v0
.end method
.method public static declared-synchronized a(Ljava/lang/String;[B)Ljava/lang/String;
.registers 6
.prologue
.line 79
const-class v1, Ldxoptimizer/wn;
monitor-enter v1
if-eqz p0, :cond_f
:try_start_5
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
:try_end_c
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_c} :catch_2f
.catchall {:try_start_5 .. :try_end_c} :catchall_3c
move-result v0
if-nez v0, :cond_11
.line 90
:cond_f
:goto_f
monitor-exit v1
return-object p0
.line 82
:cond_11
:try_start_11
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
const-string v2, "AES"
invoke-direct {v0, p1, v2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
.line 83
invoke-static {}, Ldxoptimizer/wn;->a()Ljavax/crypto/Cipher;
move-result-object v2
.line 84
const/4 v3, 0x1
invoke-virtual {v2, v3, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
.line 85
const-string v0, "utf-8"
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v2, v0}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v0
invoke-static {v0}, Ldxoptimizer/wn;->b([B)Ljava/lang/String;
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_2d} :catch_2f
.catchall {:try_start_11 .. :try_end_2d} :catchall_3c
move-result-object p0
goto :goto_f
.line 86
:catch_2f
move-exception v0
.line 87
:try_start_30
sget-boolean v2, Ldxoptimizer/xa;->d:Z
if-eqz v2, :cond_f
.line 88
const-string v2, "stat.EncryptionUtil"
const-string v3, "Failed to encrypt via AES."
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_3b
.catchall {:try_start_30 .. :try_end_3b} :catchall_3c
goto :goto_f
.line 79
:catchall_3c
move-exception v0
monitor-exit v1
throw v0
.end method
.method public static declared-synchronized a([B)Ljava/lang/String;
.registers 5
.prologue
.line 115
const-class v1, Ldxoptimizer/wn;
monitor-enter v1
:try_start_3
const-string v0, "SHA-1"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
.line 116
invoke-virtual {v0, p0}, Ljava/security/MessageDigest;->update([B)V
.line 117
invoke-virtual {v0}, Ljava/security/MessageDigest;->digest()[B
move-result-object v0
invoke-static {v0}, Ldxoptimizer/wn;->b([B)Ljava/lang/String;
:try_end_13
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_3 .. :try_end_13} :catch_16
.catch Ljava/lang/NullPointerException; {:try_start_3 .. :try_end_13} :catch_25
.catchall {:try_start_3 .. :try_end_13} :catchall_32
move-result-object v0
.line 127
:goto_14
monitor-exit v1
return-object v0
.line 118
:catch_16
move-exception v0
.line 119
:try_start_17
sget-boolean v2, Ldxoptimizer/xa;->d:Z
if-eqz v2, :cond_22
.line 120
const-string v2, "stat.EncryptionUtil"
const-string v3, "Failed to encryptSHA1!"
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 127
:cond_22
:goto_22
const-string v0, ""
goto :goto_14
.line 122
:catch_25
move-exception v0
.line 123
sget-boolean v2, Ldxoptimizer/xa;->d:Z
if-eqz v2, :cond_22
.line 124
const-string v2, "stat.EncryptionUtil"
const-string v3, "Failed to encryptSHA1!"
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_31
.catchall {:try_start_17 .. :try_end_31} :catchall_32
goto :goto_22
.line 115
:catchall_32
move-exception v0
monitor-exit v1
throw v0
.end method
.method private static a()Ljavax/crypto/Cipher;
.registers 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 33
sget-object v0, Ldxoptimizer/wn;->a:Ljavax/crypto/Cipher;
if-nez v0, :cond_c
.line 34
const-string v0, "AES"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
sput-object v0, Ldxoptimizer/wn;->a:Ljavax/crypto/Cipher;
.line 37
:cond_c
sget-object v0, Ldxoptimizer/wn;->a:Ljavax/crypto/Cipher;
return-object v0
.end method
.method public static declared-synchronized b(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.prologue
.line 96
const-class v1, Ldxoptimizer/wn;
monitor-enter v1
if-eqz p0, :cond_f
:try_start_5
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
:try_end_c
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_c} :catch_37
.catchall {:try_start_5 .. :try_end_c} :catchall_44
move-result v0
if-nez v0, :cond_11
.line 108
:cond_f
:goto_f
monitor-exit v1
return-object p0
.line 99
:cond_11
:try_start_11
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object v0
invoke-static {v0}, Ldxoptimizer/crc;->c([B)[B
move-result-object v0
.line 100
new-instance v2, Ljavax/crypto/spec/SecretKeySpec;
const-string v3, "AES"
invoke-direct {v2, v0, v3}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
.line 101
invoke-static {}, Ldxoptimizer/wn;->a()Ljavax/crypto/Cipher;
move-result-object v0
.line 102
const/4 v3, 0x1
invoke-virtual {v0, v3, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
.line 103
const-string v2, "utf-8"
invoke-virtual {p0, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-virtual {v0, v2}, Ljavax/crypto/Cipher;->doFinal([B)[B
move-result-object v0
invoke-static {v0}, Ldxoptimizer/wn;->b([B)Ljava/lang/String;
:try_end_35
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_35} :catch_37
.catchall {:try_start_11 .. :try_end_35} :catchall_44
move-result-object p0
goto :goto_f
.line 104
:catch_37
move-exception v0
.line 105
:try_start_38
sget-boolean v2, Ldxoptimizer/xa;->d:Z
if-eqz v2, :cond_f
.line 106
const-string v2, "stat.EncryptionUtil"
const-string v3, "Failed to encrypt via AES."
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_43
.catchall {:try_start_38 .. :try_end_43} :catchall_44
goto :goto_f
.line 96
:catchall_44
move-exception v0
monitor-exit v1
throw v0
.end method
.method private static b([B)Ljava/lang/String;
.registers 2
.prologue
.line 131
invoke-static {p0}, Ldxoptimizer/cdk;->a([B)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static b()Ljavax/crypto/Cipher;
.registers 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 41
sget-object v0, Ldxoptimizer/wn;->b:Ljavax/crypto/Cipher;
if-nez v0, :cond_c
.line 42
const-string v0, "RSA"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
sput-object v0, Ldxoptimizer/wn;->b:Ljavax/crypto/Cipher;
.line 45
:cond_c
sget-object v0, Ldxoptimizer/wn;->b:Ljavax/crypto/Cipher;
return-object v0
.end method
.method private static c()Ljava/security/KeyFactory;
.registers 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 49
sget-object v0, Ldxoptimizer/wn;->c:Ljava/security/KeyFactory;
if-nez v0, :cond_c
.line 50
const-string v0, "RSA"
invoke-static {v0}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
move-result-object v0
sput-object v0, Ldxoptimizer/wn;->c:Ljava/security/KeyFactory;
.line 53
:cond_c
sget-object v0, Ldxoptimizer/wn;->c:Ljava/security/KeyFactory;
return-object v0
.end method