Md5.smali

.class public Lio/dcloud/common/util/Md5;
.super Ljava/lang/Object;


# static fields
.field public static final BUFFERSIZE:I = 0xc800

.field static final PADDING:[B

.field static final S11:I = 0x7

.field static final S12:I = 0xc

.field static final S13:I = 0x11

.field static final S14:I = 0x16

.field static final S21:I = 0x5

.field static final S22:I = 0x9

.field static final S23:I = 0xe

.field static final S24:I = 0x14

.field static final S31:I = 0x4

.field static final S32:I = 0xb

.field static final S33:I = 0x10

.field static final S34:I = 0x17

.field static final S41:I = 0x6

.field static final S42:I = 0xa

.field static final S43:I = 0xf

.field static final S44:I = 0x15


# instance fields
.field private buffer:[B

.field private count:[J

.field private digest:[B

.field public digestHexStr:Ljava/lang/String;

.field private state:[J


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const/16 v0, 0x40

    new-array v0, v0, [B

    .line 1
    fill-array-data v0, :array_a

    sput-object v0, Lio/dcloud/common/util/Md5;->PADDING:[B

    return-void

    :array_a
    .array-data 1
        -0x80t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
        0x0t
    .end array-data
.end method

.method public constructor <init>()V
    .registers 2

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const/4 v0, 0x4

    new-array v0, v0, [J

    .line 2
    iput-object v0, p0, Lio/dcloud/common/util/Md5;->state:[J

    const/4 v0, 0x2

    new-array v0, v0, [J

    .line 3
    iput-object v0, p0, Lio/dcloud/common/util/Md5;->count:[J

    const/16 v0, 0x40

    new-array v0, v0, [B

    .line 4
    iput-object v0, p0, Lio/dcloud/common/util/Md5;->buffer:[B

    const/16 v0, 0x10

    new-array v0, v0, [B

    .line 13
    iput-object v0, p0, Lio/dcloud/common/util/Md5;->digest:[B

    .line 39
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Init()V

    return-void
.end method

.method private Decode([J[BI)V
    .registers 11

    const/4 v0, 0x0

    move v1, v0

    :goto_2
    if-ge v0, p3, :cond_35

    .line 1
    aget-byte v2, p2, v0

    invoke-static {v2}, Lio/dcloud/common/util/Md5;->b2iu(B)J

    move-result-wide v2

    add-int/lit8 v4, v0, 0x1

    aget-byte v4, p2, v4

    .line 2
    invoke-static {v4}, Lio/dcloud/common/util/Md5;->b2iu(B)J

    move-result-wide v4

    const/16 v6, 0x8

    shl-long/2addr v4, v6

    or-long/2addr v2, v4

    add-int/lit8 v4, v0, 0x2

    aget-byte v4, p2, v4

    .line 3
    invoke-static {v4}, Lio/dcloud/common/util/Md5;->b2iu(B)J

    move-result-wide v4

    const/16 v6, 0x10

    shl-long/2addr v4, v6

    or-long/2addr v2, v4

    add-int/lit8 v4, v0, 0x3

    aget-byte v4, p2, v4

    .line 4
    invoke-static {v4}, Lio/dcloud/common/util/Md5;->b2iu(B)J

    move-result-wide v4

    const/16 v6, 0x18

    shl-long/2addr v4, v6

    or-long/2addr v2, v4

    aput-wide v2, p1, v1

    add-int/lit8 v1, v1, 0x1

    add-int/lit8 v0, v0, 0x4

    goto :goto_2

    :cond_35
    return-void
.end method

.method private Encode([B[JI)V
    .registers 12

    const/4 v0, 0x0

    move v1, v0

    :goto_2
    if-ge v0, p3, :cond_37

    .line 1
    aget-wide v2, p2, v1

    const-wide/16 v4, 0xff

    and-long/2addr v2, v4

    long-to-int v2, v2

    int-to-byte v2, v2

    aput-byte v2, p1, v0

    add-int/lit8 v2, v0, 0x1

    .line 2
    aget-wide v6, p2, v1

    const/16 v3, 0x8

    ushr-long/2addr v6, v3

    and-long/2addr v6, v4

    long-to-int v3, v6

    int-to-byte v3, v3

    aput-byte v3, p1, v2

    add-int/lit8 v2, v0, 0x2

    .line 3
    aget-wide v6, p2, v1

    const/16 v3, 0x10

    ushr-long/2addr v6, v3

    and-long/2addr v6, v4

    long-to-int v3, v6

    int-to-byte v3, v3

    aput-byte v3, p1, v2

    add-int/lit8 v2, v0, 0x3

    .line 4
    aget-wide v6, p2, v1

    const/16 v3, 0x18

    ushr-long/2addr v6, v3

    and-long v3, v6, v4

    long-to-int v3, v3

    int-to-byte v3, v3

    aput-byte v3, p1, v2

    add-int/lit8 v1, v1, 0x1

    add-int/lit8 v0, v0, 0x4

    goto :goto_2

    :cond_37
    return-void
.end method

.method private F(JJJ)J
    .registers 7

    and-long/2addr p3, p1

    not-long p1, p1

    and-long/2addr p1, p5

    or-long/2addr p1, p3

    return-wide p1
.end method

.method private FF(JJJJJJJ)J
    .registers 24

    move-wide/from16 v0, p11

    move-object v2, p0

    move-wide v3, p3

    move-wide v5, p5

    move-wide/from16 v7, p7

    .line 1
    invoke-direct/range {v2 .. v8}, Lio/dcloud/common/util/Md5;->F(JJJ)J

    move-result-wide v2

    add-long v2, v2, p9

    add-long v2, v2, p13

    add-long/2addr v2, p1

    long-to-int v2, v2

    long-to-int v3, v0

    shl-int v3, v2, v3

    const-wide/16 v4, 0x20

    sub-long/2addr v4, v0

    long-to-int v0, v4

    ushr-int v0, v2, v0

    or-int/2addr v0, v3

    int-to-long v0, v0

    add-long/2addr v0, p3

    return-wide v0
.end method

.method private G(JJJ)J
    .registers 7

    and-long/2addr p1, p5

    not-long p5, p5

    and-long/2addr p3, p5

    or-long/2addr p1, p3

    return-wide p1
.end method

.method private GG(JJJJJJJ)J
    .registers 24

    move-wide/from16 v0, p11

    move-object v2, p0

    move-wide v3, p3

    move-wide v5, p5

    move-wide/from16 v7, p7

    .line 1
    invoke-direct/range {v2 .. v8}, Lio/dcloud/common/util/Md5;->G(JJJ)J

    move-result-wide v2

    add-long v2, v2, p9

    add-long v2, v2, p13

    add-long/2addr v2, p1

    long-to-int v2, v2

    long-to-int v3, v0

    shl-int v3, v2, v3

    const-wide/16 v4, 0x20

    sub-long/2addr v4, v0

    long-to-int v0, v4

    ushr-int v0, v2, v0

    or-int/2addr v0, v3

    int-to-long v0, v0

    add-long/2addr v0, p3

    return-wide v0
.end method

.method private H(JJJ)J
    .registers 7

    xor-long/2addr p1, p3

    xor-long/2addr p1, p5

    return-wide p1
.end method

.method private HH(JJJJJJJ)J
    .registers 24

    move-wide/from16 v0, p11

    move-object v2, p0

    move-wide v3, p3

    move-wide v5, p5

    move-wide/from16 v7, p7

    .line 1
    invoke-direct/range {v2 .. v8}, Lio/dcloud/common/util/Md5;->H(JJJ)J

    move-result-wide v2

    add-long v2, v2, p9

    add-long v2, v2, p13

    add-long/2addr v2, p1

    long-to-int v2, v2

    long-to-int v3, v0

    shl-int v3, v2, v3

    const-wide/16 v4, 0x20

    sub-long/2addr v4, v0

    long-to-int v0, v4

    ushr-int v0, v2, v0

    or-int/2addr v0, v3

    int-to-long v0, v0

    add-long/2addr v0, p3

    return-wide v0
.end method

.method private I(JJJ)J
    .registers 7

    not-long p5, p5

    or-long/2addr p1, p5

    xor-long/2addr p1, p3

    return-wide p1
.end method

.method private II(JJJJJJJ)J
    .registers 24

    move-wide/from16 v0, p11

    move-object v2, p0

    move-wide v3, p3

    move-wide v5, p5

    move-wide/from16 v7, p7

    .line 1
    invoke-direct/range {v2 .. v8}, Lio/dcloud/common/util/Md5;->I(JJJ)J

    move-result-wide v2

    add-long v2, v2, p9

    add-long v2, v2, p13

    add-long/2addr v2, p1

    long-to-int v2, v2

    long-to-int v3, v0

    shl-int v3, v2, v3

    const-wide/16 v4, 0x20

    sub-long/2addr v4, v0

    long-to-int v0, v4

    ushr-int v0, v2, v0

    or-int/2addr v0, v3

    int-to-long v0, v0

    add-long/2addr v0, p3

    return-wide v0
.end method

.method public static b2iu(B)J
    .registers 3

    if-gez p0, :cond_4

    and-int/lit16 p0, p0, 0xff

    :cond_4
    int-to-long v0, p0

    return-wide v0
.end method

.method public static byteHEX(B)Ljava/lang/String;
    .registers 5

    const/16 v0, 0x10

    new-array v0, v0, [C

    .line 1
    fill-array-data v0, :array_20

    const/4 v1, 0x2

    new-array v1, v1, [C

    ushr-int/lit8 v2, p0, 0x4

    and-int/lit8 v2, v2, 0xf

    .line 5
    aget-char v2, v0, v2

    const/4 v3, 0x0

    aput-char v2, v1, v3

    and-int/lit8 p0, p0, 0xf

    .line 6
    aget-char p0, v0, p0

    const/4 v0, 0x1

    aput-char p0, v1, v0

    .line 7
    new-instance p0, Ljava/lang/String;

    invoke-direct {p0, v1}, Ljava/lang/String;-><init>([C)V

    return-object p0

    :array_20
    .array-data 2
        0x30s
        0x31s
        0x32s
        0x33s
        0x34s
        0x35s
        0x36s
        0x37s
        0x38s
        0x39s
        0x41s
        0x42s
        0x43s
        0x44s
        0x45s
        0x46s
    .end array-data
.end method

.method private md5Final()V
    .registers 6

    const/16 v0, 0x8

    new-array v1, v0, [B

    .line 5
    iget-object v2, p0, Lio/dcloud/common/util/Md5;->count:[J

    invoke-direct {p0, v1, v2, v0}, Lio/dcloud/common/util/Md5;->Encode([B[JI)V

    .line 8
    iget-object v2, p0, Lio/dcloud/common/util/Md5;->count:[J

    const/4 v3, 0x0

    aget-wide v3, v2, v3

    const/4 v2, 0x3

    ushr-long v2, v3, v2

    long-to-int v2, v2

    and-int/lit8 v2, v2, 0x3f

    const/16 v3, 0x38

    if-ge v2, v3, :cond_1a

    sub-int/2addr v3, v2

    goto :goto_1c

    :cond_1a
    rsub-int/lit8 v3, v2, 0x78

    .line 10
    :goto_1c
    sget-object v2, Lio/dcloud/common/util/Md5;->PADDING:[B

    invoke-direct {p0, v2, v3}, Lio/dcloud/common/util/Md5;->md5Update([BI)V

    .line 13
    invoke-direct {p0, v1, v0}, Lio/dcloud/common/util/Md5;->md5Update([BI)V

    .line 16
    iget-object v0, p0, Lio/dcloud/common/util/Md5;->digest:[B

    iget-object v1, p0, Lio/dcloud/common/util/Md5;->state:[J

    const/16 v2, 0x10

    invoke-direct {p0, v0, v1, v2}, Lio/dcloud/common/util/Md5;->Encode([B[JI)V

    return-void
.end method

.method private md5Init()V
    .registers 6

    .line 1
    iget-object v0, p0, Lio/dcloud/common/util/Md5;->count:[J

    const/4 v1, 0x0

    const-wide/16 v2, 0x0

    aput-wide v2, v0, v1

    const/4 v4, 0x1

    .line 2
    aput-wide v2, v0, v4

    .line 5
    iget-object v0, p0, Lio/dcloud/common/util/Md5;->state:[J

    const-wide/32 v2, 0x67452301

    aput-wide v2, v0, v1

    const-wide v1, 0xefcdab89L

    .line 6
    aput-wide v1, v0, v4

    const/4 v1, 0x2

    const-wide v2, 0x98badcfeL

    .line 7
    aput-wide v2, v0, v1

    const/4 v1, 0x3

    const-wide/32 v2, 0x10325476

    .line 8
    aput-wide v2, v0, v1

    return-void
.end method

.method private md5Memcpy([B[BIII)V
    .registers 9

    const/4 v0, 0x0

    :goto_1
    if-ge v0, p5, :cond_e

    add-int v1, p3, v0

    add-int v2, p4, v0

    .line 1
    aget-byte v2, p2, v2

    aput-byte v2, p1, v1

    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    :cond_e
    return-void
.end method

.method private md5Transform([B)V
    .registers 43

    move-object/from16 v15, p0

    .line 1
    iget-object v0, v15, Lio/dcloud/common/util/Md5;->state:[J

    const/16 v16, 0x0

    aget-wide v1, v0, v16

    const/16 v17, 0x1

    aget-wide v18, v0, v17

    const/16 v20, 0x2

    aget-wide v21, v0, v20

    const/16 v23, 0x3

    aget-wide v24, v0, v23

    const/16 v0, 0x10

    new-array v13, v0, [J

    const/16 v0, 0x40

    move-object/from16 v3, p1

    .line 4
    invoke-direct {v15, v13, v3, v0}, Lio/dcloud/common/util/Md5;->Decode([J[BI)V

    .line 7
    aget-wide v9, v13, v16

    const-wide/16 v11, 0x7

    const-wide v26, 0xd76aa478L

    move-object/from16 v0, p0

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    move-object/from16 v28, v13

    move-wide/from16 v13, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v26

    .line 8
    aget-wide v9, v28, v17

    const-wide/16 v11, 0xc

    const-wide v13, 0xe8c7b756L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v24

    .line 9
    aget-wide v9, v28, v20

    const-wide/16 v11, 0x11

    const-wide/32 v13, 0x242070db

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v21

    .line 10
    aget-wide v9, v28, v23

    const-wide/16 v11, 0x16

    const-wide v13, 0xc1bdceeeL

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v18

    const/16 v29, 0x4

    .line 11
    aget-wide v9, v28, v29

    const-wide/16 v11, 0x7

    const-wide v13, 0xf57c0fafL

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v26

    const/16 v30, 0x5

    .line 12
    aget-wide v9, v28, v30

    const-wide/16 v11, 0xc

    const-wide/32 v13, 0x4787c62a

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v24

    const/16 v31, 0x6

    .line 13
    aget-wide v9, v28, v31

    const-wide/16 v11, 0x11

    const-wide v13, 0xa8304613L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v21

    const/16 v32, 0x7

    .line 14
    aget-wide v9, v28, v32

    const-wide/16 v11, 0x16

    const-wide v13, 0xfd469501L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v18

    const/16 v33, 0x8

    .line 15
    aget-wide v9, v28, v33

    const-wide/16 v11, 0x7

    const-wide/32 v13, 0x698098d8

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v26

    const/16 v34, 0x9

    .line 16
    aget-wide v9, v28, v34

    const-wide/16 v11, 0xc

    const-wide v13, 0x8b44f7afL

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v24

    const/16 v35, 0xa

    .line 17
    aget-wide v9, v28, v35

    const-wide/16 v11, 0x11

    const-wide v13, 0xffff5bb1L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v21

    const/16 v36, 0xb

    .line 18
    aget-wide v9, v28, v36

    const-wide/16 v11, 0x16

    const-wide v13, 0x895cd7beL

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v18

    const/16 v37, 0xc

    .line 19
    aget-wide v9, v28, v37

    const-wide/16 v11, 0x7

    const-wide/32 v13, 0x6b901122

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v26

    const/16 v38, 0xd

    .line 20
    aget-wide v9, v28, v38

    const-wide/16 v11, 0xc

    const-wide v13, 0xfd987193L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v24

    const/16 v39, 0xe

    .line 21
    aget-wide v9, v28, v39

    const-wide/16 v11, 0x11

    const-wide v13, 0xa679438eL

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v21

    const/16 v40, 0xf

    .line 22
    aget-wide v9, v28, v40

    const-wide/16 v11, 0x16

    const-wide/32 v13, 0x49b40821

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->FF(JJJJJJJ)J

    move-result-wide v18

    .line 25
    aget-wide v9, v28, v17

    const-wide/16 v11, 0x5

    const-wide v13, 0xf61e2562L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v26

    .line 26
    aget-wide v9, v28, v31

    const-wide/16 v11, 0x9

    const-wide v13, 0xc040b340L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v24

    .line 27
    aget-wide v9, v28, v36

    const-wide/16 v11, 0xe

    const-wide/32 v13, 0x265e5a51

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v21

    .line 28
    aget-wide v9, v28, v16

    const-wide/16 v11, 0x14

    const-wide v13, 0xe9b6c7aaL

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v18

    .line 29
    aget-wide v9, v28, v30

    const-wide/16 v11, 0x5

    const-wide v13, 0xd62f105dL

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v26

    .line 30
    aget-wide v9, v28, v35

    const-wide/16 v11, 0x9

    const-wide/32 v13, 0x2441453

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v24

    .line 31
    aget-wide v9, v28, v40

    const-wide/16 v11, 0xe

    const-wide v13, 0xd8a1e681L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v21

    .line 32
    aget-wide v9, v28, v29

    const-wide/16 v11, 0x14

    const-wide v13, 0xe7d3fbc8L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v18

    .line 33
    aget-wide v9, v28, v34

    const-wide/16 v11, 0x5

    const-wide/32 v13, 0x21e1cde6

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v26

    .line 34
    aget-wide v9, v28, v39

    const-wide/16 v11, 0x9

    const-wide v13, 0xc33707d6L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v24

    .line 35
    aget-wide v9, v28, v23

    const-wide/16 v11, 0xe

    const-wide v13, 0xf4d50d87L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v21

    .line 36
    aget-wide v9, v28, v33

    const-wide/16 v11, 0x14

    const-wide/32 v13, 0x455a14ed

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v18

    .line 37
    aget-wide v9, v28, v38

    const-wide/16 v11, 0x5

    const-wide v13, 0xa9e3e905L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v26

    .line 38
    aget-wide v9, v28, v20

    const-wide/16 v11, 0x9

    const-wide v13, 0xfcefa3f8L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v24

    .line 39
    aget-wide v9, v28, v32

    const-wide/16 v11, 0xe

    const-wide/32 v13, 0x676f02d9

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v21

    .line 40
    aget-wide v9, v28, v37

    const-wide/16 v11, 0x14

    const-wide v13, 0x8d2a4c8aL

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->GG(JJJJJJJ)J

    move-result-wide v18

    .line 43
    aget-wide v9, v28, v30

    const-wide/16 v11, 0x4

    const-wide v13, 0xfffa3942L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v26

    .line 44
    aget-wide v9, v28, v33

    const-wide/16 v11, 0xb

    const-wide v13, 0x8771f681L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v24

    .line 45
    aget-wide v9, v28, v36

    const-wide/16 v11, 0x10

    const-wide/32 v13, 0x6d9d6122

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v21

    .line 46
    aget-wide v9, v28, v39

    const-wide/16 v11, 0x17

    const-wide v13, 0xfde5380cL

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v18

    .line 47
    aget-wide v9, v28, v17

    const-wide/16 v11, 0x4

    const-wide v13, 0xa4beea44L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v26

    .line 48
    aget-wide v9, v28, v29

    const-wide/16 v11, 0xb

    const-wide/32 v13, 0x4bdecfa9

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v24

    .line 49
    aget-wide v9, v28, v32

    const-wide/16 v11, 0x10

    const-wide v13, 0xf6bb4b60L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v21

    .line 50
    aget-wide v9, v28, v35

    const-wide/16 v11, 0x17

    const-wide v13, 0xbebfbc70L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v18

    .line 51
    aget-wide v9, v28, v38

    const-wide/16 v11, 0x4

    const-wide/32 v13, 0x289b7ec6

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v26

    .line 52
    aget-wide v9, v28, v16

    const-wide/16 v11, 0xb

    const-wide v13, 0xeaa127faL

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v24

    .line 53
    aget-wide v9, v28, v23

    const-wide/16 v11, 0x10

    const-wide v13, 0xd4ef3085L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v21

    .line 54
    aget-wide v9, v28, v31

    const-wide/16 v11, 0x17

    const-wide/32 v13, 0x4881d05

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v18

    .line 55
    aget-wide v9, v28, v34

    const-wide/16 v11, 0x4

    const-wide v13, 0xd9d4d039L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v26

    .line 56
    aget-wide v9, v28, v37

    const-wide/16 v11, 0xb

    const-wide v13, 0xe6db99e5L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v24

    .line 57
    aget-wide v9, v28, v40

    const-wide/16 v11, 0x10

    const-wide/32 v13, 0x1fa27cf8

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v21

    .line 58
    aget-wide v9, v28, v20

    const-wide/16 v11, 0x17

    const-wide v13, 0xc4ac5665L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->HH(JJJJJJJ)J

    move-result-wide v18

    .line 61
    aget-wide v9, v28, v16

    const-wide/16 v11, 0x6

    const-wide v13, 0xf4292244L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v26

    .line 62
    aget-wide v9, v28, v32

    const-wide/16 v11, 0xa

    const-wide/32 v13, 0x432aff97

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v24

    .line 63
    aget-wide v9, v28, v39

    const-wide/16 v11, 0xf

    const-wide v13, 0xab9423a7L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v21

    .line 64
    aget-wide v9, v28, v30

    const-wide/16 v11, 0x15

    const-wide v13, 0xfc93a039L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v18

    .line 65
    aget-wide v9, v28, v37

    const-wide/16 v11, 0x6

    const-wide/32 v13, 0x655b59c3

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v26

    .line 66
    aget-wide v9, v28, v23

    const-wide/16 v11, 0xa

    const-wide v13, 0x8f0ccc92L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v24

    .line 67
    aget-wide v9, v28, v35

    const-wide/16 v11, 0xf

    const-wide v13, 0xffeff47dL

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v21

    .line 68
    aget-wide v9, v28, v17

    const-wide/16 v11, 0x15

    const-wide v13, 0x85845dd1L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v18

    .line 69
    aget-wide v9, v28, v33

    const-wide/16 v11, 0x6

    const-wide/32 v13, 0x6fa87e4f

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v26

    .line 70
    aget-wide v9, v28, v40

    const-wide/16 v11, 0xa

    const-wide v13, 0xfe2ce6e0L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v24

    .line 71
    aget-wide v9, v28, v31

    const-wide/16 v11, 0xf

    const-wide v13, 0xa3014314L

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v21

    .line 72
    aget-wide v9, v28, v38

    const-wide/16 v11, 0x15

    const-wide/32 v13, 0x4e0811a1

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v18

    .line 73
    aget-wide v9, v28, v29

    const-wide/16 v11, 0x6

    const-wide v13, 0xf7537e82L

    move-wide/from16 v1, v26

    move-wide/from16 v3, v18

    move-wide/from16 v5, v21

    move-wide/from16 v7, v24

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v26

    .line 74
    aget-wide v9, v28, v36

    const-wide/16 v11, 0xa

    const-wide v13, 0xbd3af235L

    move-wide/from16 v1, v24

    move-wide/from16 v3, v26

    move-wide/from16 v5, v18

    move-wide/from16 v7, v21

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v24

    .line 75
    aget-wide v9, v28, v20

    const-wide/16 v11, 0xf

    const-wide/32 v13, 0x2ad7d2bb

    move-wide/from16 v1, v21

    move-wide/from16 v3, v24

    move-wide/from16 v5, v26

    move-wide/from16 v7, v18

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v21

    .line 76
    aget-wide v9, v28, v34

    const-wide/16 v11, 0x15

    const-wide v13, 0xeb86d391L

    move-wide/from16 v1, v18

    move-wide/from16 v3, v21

    move-wide/from16 v5, v24

    move-wide/from16 v7, v26

    invoke-direct/range {v0 .. v14}, Lio/dcloud/common/util/Md5;->II(JJJJJJJ)J

    move-result-wide v0

    .line 78
    iget-object v2, v15, Lio/dcloud/common/util/Md5;->state:[J

    aget-wide v3, v2, v16

    add-long v3, v3, v26

    aput-wide v3, v2, v16

    .line 79
    aget-wide v3, v2, v17

    add-long/2addr v3, v0

    aput-wide v3, v2, v17

    .line 80
    aget-wide v0, v2, v20

    add-long v0, v0, v21

    aput-wide v0, v2, v20

    .line 81
    aget-wide v0, v2, v23

    add-long v0, v0, v24

    aput-wide v0, v2, v23

    return-void
.end method

.method private md5Update([BI)V
    .registers 13

    const/16 v0, 0x40

    new-array v6, v0, [B

    .line 2
    iget-object v0, p0, Lio/dcloud/common/util/Md5;->count:[J

    const/4 v7, 0x0

    aget-wide v1, v0, v7

    const/4 v3, 0x3

    ushr-long/2addr v1, v3

    long-to-int v1, v1

    and-int/lit8 v3, v1, 0x3f

    .line 4
    aget-wide v1, v0, v7

    shl-int/lit8 v4, p2, 0x3

    int-to-long v4, v4

    add-long/2addr v1, v4

    aput-wide v1, v0, v7

    cmp-long v1, v1, v4

    const/4 v2, 0x1

    if-gez v1, :cond_22

    .line 5
    aget-wide v4, v0, v2

    const-wide/16 v8, 0x1

    add-long/2addr v4, v8

    aput-wide v4, v0, v2

    .line 6
    :cond_22
    aget-wide v4, v0, v2

    ushr-int/lit8 v1, p2, 0x1d

    int-to-long v8, v1

    add-long/2addr v4, v8

    aput-wide v4, v0, v2

    rsub-int/lit8 v8, v3, 0x40

    if-lt p2, v8, :cond_53

    .line 12
    iget-object v1, p0, Lio/dcloud/common/util/Md5;->buffer:[B

    const/4 v4, 0x0

    move-object v0, p0

    move-object v2, p1

    move v5, v8

    invoke-direct/range {v0 .. v5}, Lio/dcloud/common/util/Md5;->md5Memcpy([B[BIII)V

    .line 13
    iget-object v0, p0, Lio/dcloud/common/util/Md5;->buffer:[B

    invoke-direct {p0, v0}, Lio/dcloud/common/util/Md5;->md5Transform([B)V

    :goto_3c
    add-int/lit8 v0, v8, 0x3f

    if-ge v0, p2, :cond_50

    const/4 v3, 0x0

    const/16 v5, 0x40

    move-object v0, p0

    move-object v1, v6

    move-object v2, p1

    move v4, v8

    .line 17
    invoke-direct/range {v0 .. v5}, Lio/dcloud/common/util/Md5;->md5Memcpy([B[BIII)V

    .line 18
    invoke-direct {p0, v6}, Lio/dcloud/common/util/Md5;->md5Transform([B)V

    add-int/lit8 v8, v8, 0x40

    goto :goto_3c

    :cond_50
    move v3, v7

    move v4, v8

    goto :goto_54

    :cond_53
    move v4, v7

    .line 28
    :goto_54
    iget-object v1, p0, Lio/dcloud/common/util/Md5;->buffer:[B

    sub-int v5, p2, v4

    move-object v0, p0

    move-object v2, p1

    invoke-direct/range {v0 .. v5}, Lio/dcloud/common/util/Md5;->md5Memcpy([B[BIII)V

    return-void
.end method


# virtual methods
.method public getMD5ofBytes(Ljava/lang/String;)[B
    .registers 3

    .line 1
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Init()V

    .line 3
    invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B

    move-result-object p1

    .line 4
    array-length v0, p1

    invoke-direct {p0, p1, v0}, Lio/dcloud/common/util/Md5;->md5Update([BI)V

    .line 5
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Final()V

    .line 6
    iget-object p1, p0, Lio/dcloud/common/util/Md5;->digest:[B

    return-object p1
.end method

.method public getMD5ofStr(Ljava/lang/String;)Ljava/lang/String;
    .registers 4

    .line 1
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Init()V

    .line 2
    invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B

    move-result-object v0

    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result p1

    invoke-direct {p0, v0, p1}, Lio/dcloud/common/util/Md5;->md5Update([BI)V

    .line 3
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Final()V

    const-string p1, ""

    .line 4
    iput-object p1, p0, Lio/dcloud/common/util/Md5;->digestHexStr:Ljava/lang/String;

    const/4 p1, 0x0

    :goto_16
    const/16 v0, 0x10

    if-ge p1, v0, :cond_38

    .line 6
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v1, p0, Lio/dcloud/common/util/Md5;->digestHexStr:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v1, p0, Lio/dcloud/common/util/Md5;->digest:[B

    aget-byte v1, v1, p1

    invoke-static {v1}, Lio/dcloud/common/util/Md5;->byteHEX(B)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lio/dcloud/common/util/Md5;->digestHexStr:Ljava/lang/String;

    add-int/lit8 p1, p1, 0x1

    goto :goto_16

    .line 8
    :cond_38
    iget-object p1, p0, Lio/dcloud/common/util/Md5;->digestHexStr:Ljava/lang/String;

    return-object p1
.end method

.method public getMD5ofStream(Ljava/io/InputStream;)[B
    .registers 6

    .line 1
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Init()V

    const v0, 0xc800

    new-array v1, v0, [B

    :goto_8
    const/4 v2, 0x0

    .line 5
    :try_start_9
    invoke-virtual {p1, v1, v2, v0}, Ljava/io/InputStream;->read([BII)I

    move-result v2

    const/4 v3, -0x1

    if-ne v2, v3, :cond_16

    .line 7
    invoke-direct {p0}, Lio/dcloud/common/util/Md5;->md5Final()V

    .line 8
    iget-object p1, p0, Lio/dcloud/common/util/Md5;->digest:[B

    return-object p1

    .line 11
    :cond_16
    invoke-direct {p0, v1, v2}, Lio/dcloud/common/util/Md5;->md5Update([BI)V
    :try_end_19
    .catch Ljava/io/IOException; {:try_start_9 .. :try_end_19} :catch_1a

    goto :goto_8

    :catch_1a
    move-exception p1

    .line 16
    invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V

    const/4 p1, 0x0

    return-object p1
.end method