.class public Lcom/sina/weibo/sdk/utils/MD5; .super Ljava/lang/Object; .source "MD5.java" # static fields .field private static final hexDigits:[C # direct methods .method static constructor ()V .locals 1 const/16 v0, 0x10 .line 29 new-array v0, v0, [C fill-array-data v0, :array_0 sput-object v0, Lcom/sina/weibo/sdk/utils/MD5;->hexDigits:[C return-void :array_0 .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 constructor ()V .locals 0 .line 27 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static hexdigest(Ljava/lang/String;)Ljava/lang/String; .locals 0 .line 36 :try_start_0 invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B move-result-object p0 invoke-static {p0}, Lcom/sina/weibo/sdk/utils/MD5;->hexdigest([B)Ljava/lang/String; move-result-object p0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p0 .line 38 invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V const/4 p0, 0x0 :goto_0 return-object p0 .end method .method public static hexdigest([B)Ljava/lang/String; .locals 7 :try_start_0 const-string v0, "MD5" .line 46 invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest; move-result-object v0 .line 47 invoke-virtual {v0, p0}, Ljava/security/MessageDigest;->update([B)V .line 48 invoke-virtual {v0}, Ljava/security/MessageDigest;->digest()[B move-result-object p0 const/16 v0, 0x20 .line 49 new-array v0, v0, [C const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 const/16 v3, 0x10 if-ge v1, v3, :cond_0 .line 52 aget-byte v3, p0, v1 add-int/lit8 v4, v2, 0x1 .line 53 sget-object v5, Lcom/sina/weibo/sdk/utils/MD5;->hexDigits:[C ushr-int/lit8 v6, v3, 0x4 and-int/lit8 v6, v6, 0xf aget-char v5, v5, v6 aput-char v5, v0, v2 add-int/lit8 v2, v4, 0x1 .line 54 sget-object v5, Lcom/sina/weibo/sdk/utils/MD5;->hexDigits:[C and-int/lit8 v3, v3, 0xf aget-char v3, v5, v3 aput-char v3, v0, v4 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 56 :cond_0 new-instance p0, Ljava/lang/String; invoke-direct {p0, v0}, Ljava/lang/String;->([C)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_1 :catch_0 move-exception p0 .line 58 invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V const/4 p0, 0x0 :goto_1 return-object p0 .end method .method public static main([Ljava/lang/String;)V .locals 1 .line 64 sget-object p0, Ljava/lang/System;->out:Ljava/io/PrintStream; const-string v0, "c" invoke-static {v0}, Lcom/sina/weibo/sdk/utils/MD5;->hexdigest(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-virtual {p0, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V return-void .end method