d4.smali
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
.class public Lcom/bytedance/bdtracker/d4;
.super Ljava/lang/Object;
.source ""
# static fields
.field public static final a:[C
# direct methods
.method public static constructor <clinit>()V
.locals 1
const/16 v0, 0x10
new-array v0, v0, [C
fill-array-data v0, :array_0
sput-object v0, Lcom/bytedance/bdtracker/d4;->a:[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 static a([B)Ljava/lang/String;
.locals 2
const/4 v0, 0x0
if-eqz p0, :cond_1
:try_start_0
array-length v1, p0
if-nez v1, :cond_0
goto :goto_0
:cond_0
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 p0
invoke-static {p0}, Lcom/bytedance/bdtracker/d4;->b([B)Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
:cond_1
:goto_0
return-object v0
.end method
.method public static b([B)Ljava/lang/String;
.locals 10
const/4 v0, 0x0
if-nez p0, :cond_0
invoke-static {}, Lcom/bytedance/applog/log/LoggerImpl;->global()Lcom/bytedance/applog/log/IAppLogLogger;
move-result-object p0
const-string v1, "DigestUtils"
invoke-static {v1}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v1
new-array v0, v0, [Ljava/lang/Object;
const-string v2, "bytes is null"
invoke-interface {p0, v1, v2, v0}, Lcom/bytedance/applog/log/IAppLogLogger;->warn(Ljava/util/List;Ljava/lang/String;[Ljava/lang/Object;)V
const/4 p0, 0x0
return-object p0
:cond_0
array-length v1, p0
add-int/lit8 v2, v1, 0x0
.line 1
array-length v3, p0
if-gt v2, v3, :cond_2
mul-int/lit8 v2, v1, 0x2
new-array v3, v2, [C
move v4, v0
move v5, v4
:goto_0
if-ge v4, v1, :cond_1
add-int/lit8 v6, v4, 0x0
aget-byte v6, p0, v6
and-int/lit16 v6, v6, 0xff
add-int/lit8 v7, v5, 0x1
sget-object v8, Lcom/bytedance/bdtracker/d4;->a:[C
shr-int/lit8 v9, v6, 0x4
aget-char v9, v8, v9
aput-char v9, v3, v5
add-int/lit8 v5, v7, 0x1
and-int/lit8 v6, v6, 0xf
aget-char v6, v8, v6
aput-char v6, v3, v7
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v3, v0, v2}, Ljava/lang/String;-><init>([CII)V
return-object p0
:cond_2
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p0}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
throw p0
.end method