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