1 | package com.jsql.util.bruter; | |
2 | ||
3 | import com.jsql.util.StringUtil; | |
4 | import org.apache.commons.text.StringEscapeUtils; | |
5 | ||
6 | import java.io.IOException; | |
7 | import java.security.NoSuchAlgorithmException; | |
8 | import java.util.Arrays; | |
9 | import java.util.List; | |
10 | import java.util.Optional; | |
11 | import java.util.stream.Collectors; | |
12 | ||
13 | public enum ActionCoder { | |
14 | MD2(Coder.MD2.label, true) { | |
15 | @Override | |
16 | public String run(String value) throws NoSuchAlgorithmException { | |
17 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$1::run → KILLED |
return HashUtil.toHash(this.name, value); |
18 | } | |
19 | }, | |
20 | MD4(Coder.MD4.label, true) { | |
21 | @Override | |
22 | public String run(String value) { | |
23 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$2::run → KILLED |
return HashUtil.toMd4(value); |
24 | } | |
25 | }, | |
26 | MD5(Coder.MD5.label, true) { | |
27 | @Override | |
28 | public String run(String value) throws NoSuchAlgorithmException { | |
29 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$3::run → KILLED |
return HashUtil.toHash(this.name, value); |
30 | } | |
31 | }, | |
32 | SHA_1(Coder.SHA1.label, true) { | |
33 | @Override | |
34 | public String run(String value) throws NoSuchAlgorithmException { | |
35 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$4::run → KILLED |
return HashUtil.toHash(this.name, value); |
36 | } | |
37 | }, | |
38 | SHA_256(Coder.SHA256.label, true) { | |
39 | @Override | |
40 | public String run(String value) throws NoSuchAlgorithmException { | |
41 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$5::run → KILLED |
return HashUtil.toHash(this.name, value); |
42 | } | |
43 | }, | |
44 | SHA_384(Coder.SHA384.label, true) { | |
45 | @Override | |
46 | public String run(String value) throws NoSuchAlgorithmException { | |
47 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$6::run → KILLED |
return HashUtil.toHash(this.name, value); |
48 | } | |
49 | }, | |
50 | SHA_512(Coder.SHA512.label, true) { | |
51 | @Override | |
52 | public String run(String value) throws NoSuchAlgorithmException { | |
53 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$7::run → KILLED |
return HashUtil.toHash(this.name, value); |
54 | } | |
55 | }, | |
56 | MYSQL(Coder.MYSQL.label, true) { | |
57 | @Override | |
58 | public String run(String value) throws NoSuchAlgorithmException { | |
59 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$8::run → KILLED |
return HashUtil.toMySql(value); |
60 | } | |
61 | }, | |
62 | ADLER32(Coder.ADLER32.label, true, false) { | |
63 | @Override | |
64 | public String run(String value) { | |
65 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$9::run → NO_COVERAGE |
return HashUtil.toAdler32(value); |
66 | } | |
67 | }, | |
68 | CRC16(Coder.CRC16.label, true, false) { | |
69 | @Override | |
70 | public String run(String value) { | |
71 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$10::run → NO_COVERAGE |
return HashUtil.toCrc16(value); |
72 | } | |
73 | }, | |
74 | CRC32(Coder.CRC32.label, true, false) { | |
75 | @Override | |
76 | public String run(String value) { | |
77 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$11::run → NO_COVERAGE |
return HashUtil.toCrc32(value); |
78 | } | |
79 | }, | |
80 | CRC64(Coder.CRC64.label, true, false) { | |
81 | @Override | |
82 | public String run(String value) { | |
83 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$12::run → NO_COVERAGE |
return HashUtil.toCrc64(value); |
84 | } | |
85 | }, | |
86 | ENCODE_TO_HEX(ActionCoder.ENCODE_TO + Coder.HEX) { | |
87 | @Override | |
88 | public String run(String value) { | |
89 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$13::run → NO_COVERAGE |
return StringUtil.toHex(value); |
90 | } | |
91 | }, | |
92 | ENCODE_TO_HEX_ZIP(ActionCoder.ENCODE_TO + Coder.HEX_ZIP) { | |
93 | @Override | |
94 | public String run(String value) throws IOException { | |
95 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$14::run → NO_COVERAGE |
return StringUtil.toHexZip(value); |
96 | } | |
97 | }, | |
98 | ENCODE_TO_BASE64_ZIP(ActionCoder.ENCODE_TO + Coder.BASE64_ZIP) { | |
99 | @Override | |
100 | public String run(String value) throws IOException { | |
101 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$15::run → NO_COVERAGE |
return StringUtil.toBase64Zip(value); |
102 | } | |
103 | }, | |
104 | ENCODE_TO_BASE64(ActionCoder.ENCODE_TO + Coder.BASE64) { | |
105 | @Override | |
106 | public String run(String value) { | |
107 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$16::run → NO_COVERAGE |
return StringUtil.base64Encode(value); |
108 | } | |
109 | }, | |
110 | ENCODE_TO_BASE32(ActionCoder.ENCODE_TO + Coder.BASE32) { | |
111 | @Override | |
112 | public String run(String value) { | |
113 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$17::run → NO_COVERAGE |
return StringUtil.base32Encode(value); |
114 | } | |
115 | }, | |
116 | ENCODE_TO_BASE58(ActionCoder.ENCODE_TO + Coder.BASE58) { | |
117 | @Override | |
118 | public String run(String value) { | |
119 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$18::run → NO_COVERAGE |
return StringUtil.base58Encode(value); |
120 | } | |
121 | }, | |
122 | ENCODE_TO_BASE16(ActionCoder.ENCODE_TO + Coder.BASE16) { | |
123 | @Override | |
124 | public String run(String value) { | |
125 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$19::run → NO_COVERAGE |
return StringUtil.base16Encode(value); |
126 | } | |
127 | }, | |
128 | ENCODE_TO_HTML(ActionCoder.ENCODE_TO + Coder.HTML) { | |
129 | @Override | |
130 | public String run(String value) { | |
131 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$20::run → NO_COVERAGE |
return StringUtil.toHtml(value); |
132 | } | |
133 | }, | |
134 | ENCODE_TO_HTML_DECIMAL(ActionCoder.ENCODE_TO + Coder.HTML_DECIMAL) { | |
135 | @Override | |
136 | public String run(String value) { | |
137 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$21::run → NO_COVERAGE |
return StringUtil.toHtmlDecimal(value); |
138 | } | |
139 | }, | |
140 | ENCODE_TO_URL(ActionCoder.ENCODE_TO + Coder.URL) { | |
141 | @Override | |
142 | public String run(String value) { | |
143 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$22::run → NO_COVERAGE |
return StringUtil.toUrl(value); |
144 | } | |
145 | }, | |
146 | ENCODE_TO_UNICODE(ActionCoder.ENCODE_TO + Coder.UNICODE) { | |
147 | @Override | |
148 | public String run(String value) { | |
149 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$23::run → NO_COVERAGE |
return StringEscapeUtils.escapeJava(value); |
150 | } | |
151 | }, | |
152 | DECODE_FROM_HEX(ActionCoder.DECODE_FROM + Coder.HEX) { | |
153 | @Override | |
154 | public String run(String value) { | |
155 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$24::run → NO_COVERAGE |
return StringUtil.fromHex(value); |
156 | } | |
157 | }, | |
158 | DECODE_FROM_HEX_ZIP(ActionCoder.DECODE_FROM + Coder.HEX_ZIP) { | |
159 | @Override | |
160 | public String run(String value) throws IOException { | |
161 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$25::run → NO_COVERAGE |
return StringUtil.fromHexZip(value); |
162 | } | |
163 | }, | |
164 | DECODE_FROM_BASE64_ZIP(ActionCoder.DECODE_FROM + Coder.BASE64_ZIP) { | |
165 | @Override | |
166 | public String run(String value) throws IOException { | |
167 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$26::run → NO_COVERAGE |
return StringUtil.fromBase64Zip(value); |
168 | } | |
169 | }, | |
170 | DECODE_FROM_BASE64(ActionCoder.DECODE_FROM + Coder.BASE64) { | |
171 | @Override | |
172 | public String run(String value) { | |
173 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$27::run → NO_COVERAGE |
return StringUtil.base64Decode(value); |
174 | } | |
175 | }, | |
176 | DECODE_FROM_BASE32(ActionCoder.DECODE_FROM + Coder.BASE32) { | |
177 | @Override | |
178 | public String run(String value) { | |
179 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$28::run → NO_COVERAGE |
return StringUtil.base32Decode(value); |
180 | } | |
181 | }, | |
182 | DECODE_FROM_BASE58(ActionCoder.DECODE_FROM + Coder.BASE58) { | |
183 | @Override | |
184 | public String run(String value) { | |
185 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$29::run → NO_COVERAGE |
return StringUtil.base58Decode(value); |
186 | } | |
187 | }, | |
188 | DECODE_FROM_BASE16(ActionCoder.DECODE_FROM + Coder.BASE16) { | |
189 | @Override | |
190 | public String run(String value) { | |
191 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$30::run → NO_COVERAGE |
return StringUtil.base16Decode(value); |
192 | } | |
193 | }, | |
194 | DECODE_FROM_HTML(ActionCoder.DECODE_FROM + Coder.HTML) { | |
195 | @Override | |
196 | public String run(String value) { | |
197 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$31::run → NO_COVERAGE |
return StringUtil.fromHtml(value); |
198 | } | |
199 | }, | |
200 | DECODE_FROM_UNICODE(ActionCoder.DECODE_FROM + Coder.UNICODE) { | |
201 | @Override | |
202 | public String run(String value) { | |
203 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$32::run → NO_COVERAGE |
return StringEscapeUtils.unescapeJava(value); |
204 | } | |
205 | }, | |
206 | DECODE_FROM_URL(ActionCoder.DECODE_FROM + Coder.URL) { | |
207 | @Override | |
208 | public String run(String value) { | |
209 |
1
1. run : replaced return value with "" for com/jsql/util/bruter/ActionCoder$33::run → NO_COVERAGE |
return StringUtil.fromUrl(value); |
210 | } | |
211 | }; | |
212 | ||
213 | public static final String ENCODE_TO = "Encode to "; | |
214 | public static final String DECODE_FROM = "Decode from "; | |
215 | | |
216 | protected final String name; | |
217 | private final boolean isHash; | |
218 | private final boolean isEmptyPossible; | |
219 | ||
220 | ActionCoder(String name) { | |
221 | this(name, false, false); | |
222 | } | |
223 | ActionCoder(String name, boolean isHash) { | |
224 | this(name, isHash, true); | |
225 | } | |
226 | ActionCoder(String name, boolean isHash, boolean isEmptyPossible) { | |
227 | this.name = name; | |
228 | this.isHash = isHash; | |
229 | this.isEmptyPossible = isEmptyPossible; | |
230 | } | |
231 | ||
232 | public static List<String> getHashes() { | |
233 |
1
1. getHashes : replaced return value with Collections.emptyList for com/jsql/util/bruter/ActionCoder::getHashes → NO_COVERAGE |
return Arrays.stream(ActionCoder.values()) |
234 |
2
1. lambda$getHashes$0 : replaced boolean return with true for com/jsql/util/bruter/ActionCoder::lambda$getHashes$0 → NO_COVERAGE 2. lambda$getHashes$0 : replaced boolean return with false for com/jsql/util/bruter/ActionCoder::lambda$getHashes$0 → NO_COVERAGE |
.filter(action -> action.isHash) |
235 |
1
1. lambda$getHashes$1 : replaced return value with "" for com/jsql/util/bruter/ActionCoder::lambda$getHashes$1 → NO_COVERAGE |
.map(actionCoder -> actionCoder.name) |
236 | .collect(Collectors.toList()); | |
237 | } | |
238 | ||
239 | public static List<String> getHashesEmpty() { | |
240 |
1
1. getHashesEmpty : replaced return value with Collections.emptyList for com/jsql/util/bruter/ActionCoder::getHashesEmpty → SURVIVED |
return Arrays.stream(ActionCoder.values()) |
241 |
3
1. lambda$getHashesEmpty$2 : negated conditional → SURVIVED 2. lambda$getHashesEmpty$2 : replaced boolean return with true for com/jsql/util/bruter/ActionCoder::lambda$getHashesEmpty$2 → KILLED 3. lambda$getHashesEmpty$2 : negated conditional → KILLED |
.filter(action -> action.isHash && action.isEmptyPossible) |
242 |
1
1. lambda$getHashesEmpty$3 : replaced return value with "" for com/jsql/util/bruter/ActionCoder::lambda$getHashesEmpty$3 → KILLED |
.map(actionCoder -> actionCoder.name) |
243 | .collect(Collectors.toList()); | |
244 | } | |
245 | ||
246 | public static Optional<ActionCoder> forName(String name) { | |
247 |
1
1. forName : replaced return value with Optional.empty for com/jsql/util/bruter/ActionCoder::forName → KILLED |
return Arrays.stream(ActionCoder.values()) |
248 |
2
1. lambda$forName$4 : replaced boolean return with true for com/jsql/util/bruter/ActionCoder::lambda$forName$4 → SURVIVED 2. lambda$forName$4 : replaced boolean return with false for com/jsql/util/bruter/ActionCoder::lambda$forName$4 → KILLED |
.filter(action -> name.equals(action.name)) |
249 | .findFirst(); | |
250 | } | |
251 | ||
252 | public abstract String run(String value) throws IOException, NoSuchAlgorithmException; | |
253 | ||
254 | public String getName() { | |
255 |
1
1. getName : replaced return value with "" for com/jsql/util/bruter/ActionCoder::getName → NO_COVERAGE |
return this.name; |
256 | } | |
257 | } | |
Mutations | ||
17 |
1.1 |
|
23 |
1.1 |
|
29 |
1.1 |
|
35 |
1.1 |
|
41 |
1.1 |
|
47 |
1.1 |
|
53 |
1.1 |
|
59 |
1.1 |
|
65 |
1.1 |
|
71 |
1.1 |
|
77 |
1.1 |
|
83 |
1.1 |
|
89 |
1.1 |
|
95 |
1.1 |
|
101 |
1.1 |
|
107 |
1.1 |
|
113 |
1.1 |
|
119 |
1.1 |
|
125 |
1.1 |
|
131 |
1.1 |
|
137 |
1.1 |
|
143 |
1.1 |
|
149 |
1.1 |
|
155 |
1.1 |
|
161 |
1.1 |
|
167 |
1.1 |
|
173 |
1.1 |
|
179 |
1.1 |
|
185 |
1.1 |
|
191 |
1.1 |
|
197 |
1.1 |
|
203 |
1.1 |
|
209 |
1.1 |
|
233 |
1.1 |
|
234 |
1.1 2.2 |
|
235 |
1.1 |
|
240 |
1.1 |
|
241 |
1.1 2.2 3.3 |
|
242 |
1.1 |
|
247 |
1.1 |
|
248 |
1.1 2.2 |
|
255 |
1.1 |