cn.smali
.class public final Lcom/imo/android/imoim/util/cn;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.registers 1
.line 8
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Ljava/lang/String;)Ljava/lang/String;
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
.line 25
:cond_4
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object p0
invoke-static {p0}, Lcom/imo/android/imoim/util/cn;->a([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static a([B)Ljava/lang/String;
.registers 4
const-string v0, "MD5"
.line 11
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 14
:try_start_7
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v2
.line 15
invoke-virtual {v2, p0}, Ljava/security/MessageDigest;->digest([B)[B
move-result-object p0
.line 16
invoke-static {p0}, Lcom/imo/android/imoim/util/cn;->b([B)Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_16
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_16} :catch_17
goto :goto_25
:catch_17
move-exception p0
.line 18
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
const-string v2, "md5 "
invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-static {v0, p0}, Lcom/imo/android/imoim/util/bt;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 21
:goto_25
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static b([B)Ljava/lang/String;
.registers 6
.line 29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 31
array-length v1, p0
const/4 v2, 0x0
:goto_7
if-ge v2, v1, :cond_20
.line 34
aget-byte v3, p0, v2
and-int/lit16 v3, v3, 0xff
const/16 v4, 0x10
if-ge v3, v4, :cond_16
const-string v4, "0"
.line 37
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 40
:cond_16
invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_7
.line 43
:cond_20
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method