HttpUtils.smali
.class public Lcom/baidu/pass/biometrics/base/http/utils/HttpUtils;
.super Ljava/lang/Object;
.source "HttpUtils.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getNonce(Landroid/content/Context;Ljava/util/List;)Ljava/lang/String;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/util/List",
"<",
"Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;",
">;)",
"Ljava/lang/String;"
}
.end annotation
.prologue
const/4 v1, 0x0
const/4 v2, 0x0
.line 26
const-string v0, ""
.line 27
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
.line 28
invoke-interface {v4, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 30
new-instance v0, Lcom/baidu/pass/biometrics/base/http/utils/HttpUtils$1;
invoke-direct {v0}, Lcom/baidu/pass/biometrics/base/http/utils/HttpUtils$1;-><init>()V
invoke-static {v4, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 38
new-instance v3, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;
invoke-direct {v3}, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;-><init>()V
.line 39
const-string v0, "key"
invoke-virtual {v3, v0}, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;->setName(Ljava/lang/String;)V
.line 40
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
.line 44
:try_start_22
invoke-static {v0}, Lcom/baidu/pass/biometrics/base/utils/Crypto;->sha1(Ljava/lang/String;)Ljava/lang/String;
:try_end_25
.catch Ljava/lang/Exception; {:try_start_22 .. :try_end_25} :catch_3a
move-result-object v0
.line 49
:goto_26
invoke-virtual {v3, v0}, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;->setValue(Ljava/lang/String;)V
.line 50
invoke-interface {v4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 53
:try_start_2c
const-string v0, "MD5"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
:try_end_31
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_2c .. :try_end_31} :catch_40
move-result-object v1
move-object v3, v1
.line 57
:goto_33
if-eqz v3, :cond_37
if-nez v4, :cond_46
.line 58
:cond_37
const-string v0, ""
.line 83
:goto_39
return-object v0
.line 45
:catch_3a
move-exception v0
.line 46
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
move-object v0, v1
goto :goto_26
.line 54
:catch_40
move-exception v0
.line 55
invoke-virtual {v0}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
move-object v3, v1
goto :goto_33
:cond_46
move v1, v2
.line 60
:goto_47
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v0
if-ge v1, v0, :cond_9f
.line 61
invoke-interface {v4, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;
.line 62
invoke-virtual {v0}, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;->getName()Ljava/lang/String;
move-result-object v5
.line 63
invoke-virtual {v0}, Lcom/baidu/pass/biometrics/base/restnet/RestNameValuePair;->getValue()Ljava/lang/String;
move-result-object v0
.line 64
invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v6
if-nez v6, :cond_9b
.line 65
if-nez v0, :cond_65
.line 66
const-string v0, ""
.line 68
:cond_65
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
.line 69
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const/16 v7, 0x3d
invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 70
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
if-eq v1, v0, :cond_84
.line 71
const/16 v0, 0x26
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 73
:cond_84
invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_9b
.line 74
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v5, "UTF-8"
invoke-static {v5}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
invoke-virtual {v3, v0}, Ljava/security/MessageDigest;->update([B)V
.line 60
:cond_9b
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_47
.line 78
:cond_9f
invoke-virtual {v3}, Ljava/security/MessageDigest;->digest()[B
move-result-object v0
.line 79
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 80
array-length v3, v0
:goto_a9
if-ge v2, v3, :cond_c0
aget-byte v4, v0, v2
.line 81
and-int/lit16 v4, v4, 0xff
or-int/lit16 v4, v4, -0x100
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
const/4 v5, 0x6
invoke-virtual {v4, v5}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 80
add-int/lit8 v2, v2, 0x1
goto :goto_a9
.line 83
:cond_c0
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto/16 :goto_39
.end method