MD5Util.smali
.class public Lcom/hurizem/untils/MD5Util;
.super Ljava/lang/Object;
.source "MD5Util.java"
# direct methods
.method private constructor <init>()V
.registers 1
.line 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final getMD5(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"s"
}
.end annotation
const/16 v0, 0x10
new-array v0, v0, [C
.line 18
fill-array-data v0, :array_40
.line 21
:try_start_7
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object p0
const-string v1, "MD5"
.line 22
invoke-static {v1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v1
.line 23
invoke-virtual {v1, p0}, Ljava/security/MessageDigest;->update([B)V
.line 24
invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B
move-result-object p0
.line 25
array-length v1, p0
mul-int/lit8 v2, v1, 0x2
.line 26
new-array v2, v2, [C
const/4 v3, 0x0
const/4 v4, 0x0
:goto_1f
if-ge v3, v1, :cond_38
.line 29
aget-byte v5, p0, v3
add-int/lit8 v6, v4, 0x1
ushr-int/lit8 v7, v5, 0x4
and-int/lit8 v7, v7, 0xf
.line 30
aget-char v7, v0, v7
aput-char v7, v2, v4
add-int/lit8 v4, v6, 0x1
and-int/lit8 v5, v5, 0xf
.line 31
aget-char v5, v0, v5
aput-char v5, v2, v6
add-int/lit8 v3, v3, 0x1
goto :goto_1f
.line 33
:cond_38
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v2}, Ljava/lang/String;-><init>([C)V
:try_end_3d
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_3d} :catch_3e
return-object p0
:catch_3e
const/4 p0, 0x0
return-object p0
:array_40
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x61s
0x62s
0x63s
0x64s
0x65s
0x66s
.end array-data
.end method
.method public static final getMD5ByByte([B)Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"s"
}
.end annotation
const/16 v0, 0x10
new-array v0, v0, [C
.line 44
fill-array-data v0, :array_3c
:try_start_7
const-string v1, "MD5"
.line 48
invoke-static {v1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v1
.line 49
invoke-virtual {v1, p0}, Ljava/security/MessageDigest;->update([B)V
.line 50
invoke-virtual {v1}, Ljava/security/MessageDigest;->digest()[B
move-result-object p0
.line 51
array-length v1, p0
mul-int/lit8 v2, v1, 0x2
.line 52
new-array v2, v2, [C
const/4 v3, 0x0
const/4 v4, 0x0
:goto_1b
if-ge v3, v1, :cond_34
.line 55
aget-byte v5, p0, v3
add-int/lit8 v6, v4, 0x1
ushr-int/lit8 v7, v5, 0x4
and-int/lit8 v7, v7, 0xf
.line 56
aget-char v7, v0, v7
aput-char v7, v2, v4
add-int/lit8 v4, v6, 0x1
and-int/lit8 v5, v5, 0xf
.line 57
aget-char v5, v0, v5
aput-char v5, v2, v6
add-int/lit8 v3, v3, 0x1
goto :goto_1b
.line 59
:cond_34
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v2}, Ljava/lang/String;-><init>([C)V
:try_end_39
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_39} :catch_3a
return-object p0
:catch_3a
const/4 p0, 0x0
return-object p0
:array_3c
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x61s
0x62s
0x63s
0x64s
0x65s
0x66s
.end array-data
.end method