a.smali

.class public Lcom/cleanmaster/ui/game/leftstone/encode/a;
.super Ljava/lang/Object;
.source "SnsSigCheck.java"


# direct methods
.method public static a(Ljava/lang/String;)Ljava/lang/String;
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;
        }
    .end annotation

    .prologue
    .line 49
    :try_start_0
    const-string v0, "UTF-8"

    invoke-static {p0, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "+"

    const-string v2, "%20"

    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "*"

    const-string v2, "%2A"

    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    :try_end_15
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_15} :catch_17

    move-result-object v0

    return-object v0

    .line 51
    :catch_17
    move-exception v0

    .line 53
    new-instance v1, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;

    const/16 v2, 0x70c

    invoke-direct {v1, v2, v0}, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;-><init>(ILjava/lang/Exception;)V

    throw v1
.end method

.method public static a(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)Ljava/lang/String;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;)",
            "Ljava/lang/String;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;
        }
    .end annotation

    .prologue
    .line 108
    invoke-virtual {p2}, Ljava/util/HashMap;->keySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->toArray()[Ljava/lang/Object;

    move-result-object v2

    .line 110
    invoke-static {v2}, Ljava/util/Arrays;->sort([Ljava/lang/Object;)V

    .line 112
    new-instance v3, Ljava/lang/StringBuilder;

    const/16 v0, 0x80

    invoke-direct {v3, v0}, Ljava/lang/StringBuilder;-><init>(I)V

    .line 114
    invoke-virtual {p0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "&"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-static {p1}, Lcom/cleanmaster/ui/game/leftstone/encode/a;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "&"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 116
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    .line 118
    const/4 v0, 0x0

    move v1, v0

    :goto_34
    array-length v0, v2

    if-ge v1, v0, :cond_5c

    .line 120
    aget-object v0, v2, v1

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v5, "="

    invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    aget-object v0, v2, v1

    invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 122
    array-length v0, v2

    add-int/lit8 v0, v0, -0x1

    if-eq v1, v0, :cond_58

    .line 124
    const-string v0, "&"

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 118
    :cond_58
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    goto :goto_34

    .line 128
    :cond_5c
    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/cleanmaster/ui/game/leftstone/encode/a;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 130
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static a(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;Ljava/lang/String;)Ljava/lang/String;
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;",
            "Ljava/lang/String;",
            ")",
            "Ljava/lang/String;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;
        }
    .end annotation

    .prologue
    const/16 v4, 0x70c

    .line 67
    .line 70
    :try_start_2
    const-string v0, "HmacSHA1"

    invoke-static {v0}, Ljavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;

    move-result-object v0

    .line 72
    new-instance v1, Ljavax/crypto/spec/SecretKeySpec;

    const-string v2, "UTF-8"

    invoke-virtual {p3, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v2

    invoke-virtual {v0}, Ljavax/crypto/Mac;->getAlgorithm()Ljava/lang/String;

    move-result-object v3

    invoke-direct {v1, v2, v3}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V

    .line 74
    invoke-virtual {v0, v1}, Ljavax/crypto/Mac;->init(Ljava/security/Key;)V

    .line 76
    invoke-static {p0, p1, p2}, Lcom/cleanmaster/ui/game/leftstone/encode/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)Ljava/lang/String;

    move-result-object v1

    .line 79
    const-string v2, "UTF-8"

    invoke-virtual {v1, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v1

    invoke-virtual {v0, v1}, Ljavax/crypto/Mac;->doFinal([B)[B

    move-result-object v0

    .line 82
    new-instance v1, Ljava/lang/String;

    invoke-static {v0}, Lcom/cleanmaster/base/util/compress/Base64;->encode([B)Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
    :try_end_31
    .catch Ljava/security/NoSuchAlgorithmException; {:try_start_2 .. :try_end_31} :catch_32
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_2 .. :try_end_31} :catch_39
    .catch Ljava/security/InvalidKeyException; {:try_start_2 .. :try_end_31} :catch_40

    .line 96
    return-object v1

    .line 84
    :catch_32
    move-exception v0

    .line 86
    new-instance v1, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;

    invoke-direct {v1, v4, v0}, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;-><init>(ILjava/lang/Exception;)V

    throw v1

    .line 88
    :catch_39
    move-exception v0

    .line 90
    new-instance v1, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;

    invoke-direct {v1, v4, v0}, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;-><init>(ILjava/lang/Exception;)V

    throw v1

    .line 92
    :catch_40
    move-exception v0

    .line 94
    new-instance v1, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;

    invoke-direct {v1, v4, v0}, Lcom/cleanmaster/ui/game/leftstone/encode/OpensnsException;-><init>(ILjava/lang/Exception;)V

    throw v1
.end method