a.smali
.class public final Lcom/tencent/mm/a/a;
.super Ljava/lang/Object;
# direct methods
.method public static final a([B)Ljava/lang/String;
.registers 10
const/4 v0, 0x0
const/16 v1, 0x10
new-array v2, v1, [C
fill-array-data v2, :array_3e
:try_start_8
const-string v1, "MD5"
invoke-static {v1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/security/MessageDigest;->update([B)V
invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B
move-result-object v3
array-length v4, v3
mul-int/lit8 v1, v4, 0x2
new-array v5, v1, [C
move v1, v0
:goto_1b
if-ge v0, v4, :cond_34
aget-byte v6, v3, v0
add-int/lit8 v7, v1, 0x1
ushr-int/lit8 v8, v6, 0x4
and-int/lit8 v8, v8, 0xf
aget-char v8, v2, v8
aput-char v8, v5, v1
add-int/lit8 v1, v7, 0x1
and-int/lit8 v6, v6, 0xf
aget-char v6, v2, v6
aput-char v6, v5, v7
add-int/lit8 v0, v0, 0x1
goto :goto_1b
:cond_34
new-instance v0, Ljava/lang/String;
invoke-direct {v0, v5}, Ljava/lang/String;-><init>([C)V
:try_end_39
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_39} :catch_3a
:goto_39
return-object v0
:catch_3a
move-exception v0
const/4 v0, 0x0
goto :goto_39
nop
:array_3e
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x61s
0x62s
0x63s
0x64s
0x65s
0x66s
.end array-data
.end method