4141 * @author isayan
4242 */
4343public class BouncyUtil {
44+
4445 private final static Logger logger = Logger .getLogger (BouncyUtil .class .getName ());
4546
4647 private final static BouncyCastleProvider BC_PROVIDER = new BouncyCastleProvider ();
@@ -199,6 +200,98 @@ public static String toMessageDigest(String algorithm, byte[] binary, boolean up
199200 }
200201 }
201202
203+ /**
204+ * SHAKE128値の取得
205+ *
206+ * @param binary 対象バイト
207+ * @param upperCase 大文字で出力
208+ * @return ハッシュ値
209+ */
210+ public static String toSHAKE128um (byte [] binary , boolean upperCase ) {
211+ try {
212+ return toMessageDigest ("SHAKE128" , binary , upperCase );
213+ } catch (NoSuchAlgorithmException ex ) {
214+ logger .log (Level .SEVERE , ex .getMessage (), ex );
215+ }
216+ return null ;
217+ }
218+
219+ /**
220+ * SHAKE128値の取得
221+ *
222+ * @param str 対象文字列
223+ * @param upperCase 大文字で出力
224+ * @return ハッシュ値
225+ */
226+ public static String toSHAKE128Sum (String str , boolean upperCase ) {
227+ try {
228+ return toMessageDigest ("SHAKE128" , str , StandardCharsets .ISO_8859_1 , upperCase );
229+ } catch (NoSuchAlgorithmException ex ) {
230+ logger .log (Level .SEVERE , ex .getMessage (), ex );
231+ }
232+ return null ;
233+ }
234+
235+ /**
236+ * SHAKE128値の取得
237+ *
238+ * @param str 対象文字列
239+ * @param charset エンコーディング
240+ * @param upperCase
241+ * @return ハッシュ値
242+ * @throws UnsupportedEncodingException
243+ */
244+ public static String toSHAKE128Sum (String str , String charset , boolean upperCase )
245+ throws UnsupportedEncodingException {
246+ return toSHAKE128um (StringUtil .getBytesCharset (str , charset ), upperCase );
247+ }
248+
249+ /**
250+ * SHAKE256値の取得
251+ *
252+ * @param binary 対象バイト
253+ * @param upperCase 大文字で出力
254+ * @return ハッシュ値
255+ */
256+ public static String toSHAKE256um (byte [] binary , boolean upperCase ) {
257+ try {
258+ return toMessageDigest ("SHAKE256" , binary , upperCase );
259+ } catch (NoSuchAlgorithmException ex ) {
260+ logger .log (Level .SEVERE , ex .getMessage (), ex );
261+ }
262+ return null ;
263+ }
264+
265+ /**
266+ * SHAKE256値の取得
267+ *
268+ * @param str 対象文字列
269+ * @param upperCase 大文字で出力
270+ * @return ハッシュ値
271+ */
272+ public static String toSHAKE256um (String str , boolean upperCase ) {
273+ try {
274+ return toMessageDigest ("SHAKE256" , str , StandardCharsets .ISO_8859_1 , upperCase );
275+ } catch (NoSuchAlgorithmException ex ) {
276+ logger .log (Level .SEVERE , ex .getMessage (), ex );
277+ }
278+ return null ;
279+ }
280+
281+ /**
282+ * SHAKE256値の取得
283+ *
284+ * @param str 対象文字列
285+ * @param charset エンコーディング
286+ * @param upperCase
287+ * @return ハッシュ値
288+ * @throws UnsupportedEncodingException
289+ */
290+ public static String toSHAKE256um (String str , String charset , boolean upperCase )
291+ throws UnsupportedEncodingException {
292+ return toSHAKE256um (StringUtil .getBytesCharset (str , charset ), upperCase );
293+ }
294+
202295 /**
203296 * RIPEMD128値の取得
204297 *
@@ -210,9 +303,9 @@ public static String toRIPEMD128Sum(byte[] binary, boolean upperCase) {
210303 try {
211304 return toMessageDigest ("RIPEMD128" , binary , upperCase );
212305 } catch (NoSuchAlgorithmException ex ) {
213- logger .log (Level .SEVERE , ex .getMessage (), ex );
214- return null ;
306+ logger .log (Level .SEVERE , ex .getMessage (), ex );
215307 }
308+ return null ;
216309 }
217310
218311 /**
@@ -227,8 +320,8 @@ public static String toRIPEMD128Sum(String str, boolean upperCase) {
227320 return toMessageDigest ("RIPEMD128" , str , StandardCharsets .ISO_8859_1 , upperCase );
228321 } catch (NoSuchAlgorithmException ex ) {
229322 logger .log (Level .SEVERE , ex .getMessage (), ex );
230- return null ;
231323 }
324+ return null ;
232325 }
233326
234327 /**
@@ -257,8 +350,8 @@ public static String toRIPEMD160Sum(byte[] binary, boolean upperCase) {
257350 return toMessageDigest ("RIPEMD160" , binary , upperCase );
258351 } catch (NoSuchAlgorithmException ex ) {
259352 logger .log (Level .SEVERE , ex .getMessage (), ex );
260- return null ;
261353 }
354+ return null ;
262355 }
263356
264357 /**
@@ -273,8 +366,8 @@ public static String toRIPEMD160Sum(String str, boolean upperCase) {
273366 return toMessageDigest ("RIPEMD160" , str , StandardCharsets .ISO_8859_1 , upperCase );
274367 } catch (NoSuchAlgorithmException ex ) {
275368 logger .log (Level .SEVERE , ex .getMessage (), ex );
276- return null ;
277369 }
370+ return null ;
278371 }
279372
280373 /**
@@ -303,8 +396,8 @@ public static String toRIPEMD256Sum(byte[] binary, boolean upperCase) {
303396 return toMessageDigest ("RIPEMD256" , binary , upperCase );
304397 } catch (NoSuchAlgorithmException ex ) {
305398 logger .log (Level .SEVERE , ex .getMessage (), ex );
306- return null ;
307399 }
400+ return null ;
308401 }
309402
310403 /**
@@ -319,8 +412,8 @@ public static String toRIPEMD256Sum(String str, boolean upperCase) {
319412 return toMessageDigest ("RIPEMD256" , str , StandardCharsets .ISO_8859_1 , upperCase );
320413 } catch (NoSuchAlgorithmException ex ) {
321414 logger .log (Level .SEVERE , ex .getMessage (), ex );
322- return null ;
323415 }
416+ return null ;
324417 }
325418
326419 /**
@@ -349,8 +442,8 @@ public static String toRIPEMD320Sum(byte[] binary, boolean upperCase) {
349442 return toMessageDigest ("RIPEMD320" , binary , upperCase );
350443 } catch (NoSuchAlgorithmException ex ) {
351444 logger .log (Level .SEVERE , ex .getMessage (), ex );
352- return null ;
353445 }
446+ return null ;
354447 }
355448
356449 /**
@@ -365,8 +458,8 @@ public static String toRIPEMD320Sum(String str, boolean upperCase) {
365458 return toMessageDigest ("RIPEMD320" , str , StandardCharsets .ISO_8859_1 , upperCase );
366459 } catch (NoSuchAlgorithmException ex ) {
367460 logger .log (Level .SEVERE , ex .getMessage (), ex );
368- return null ;
369461 }
462+ return null ;
370463 }
371464
372465 /**
@@ -395,8 +488,8 @@ public static String toTigerSum(byte[] binary, boolean upperCase) {
395488 return toMessageDigest ("Tiger" , binary , upperCase );
396489 } catch (NoSuchAlgorithmException ex ) {
397490 logger .log (Level .SEVERE , ex .getMessage (), ex );
398- return null ;
399491 }
492+ return null ;
400493 }
401494
402495 /**
@@ -411,8 +504,8 @@ public static String toTigerSum(String str, boolean upperCase) {
411504 return toMessageDigest ("Tiger" , str , StandardCharsets .ISO_8859_1 , upperCase );
412505 } catch (NoSuchAlgorithmException ex ) {
413506 logger .log (Level .SEVERE , ex .getMessage (), ex );
414- return null ;
415507 }
508+ return null ;
416509 }
417510
418511 /**
@@ -441,8 +534,8 @@ public static String toGOST3411Sum(byte[] binary, boolean upperCase) {
441534 return toMessageDigest ("GOST3411" , binary , upperCase );
442535 } catch (NoSuchAlgorithmException ex ) {
443536 logger .log (Level .SEVERE , ex .getMessage (), ex );
444- return null ;
445537 }
538+ return null ;
446539 }
447540
448541 /**
@@ -457,8 +550,8 @@ public static String toGOST3411Sum(String str, boolean upperCase) {
457550 return toMessageDigest ("GOST3411" , str , StandardCharsets .ISO_8859_1 , upperCase );
458551 } catch (NoSuchAlgorithmException ex ) {
459552 logger .log (Level .SEVERE , ex .getMessage (), ex );
460- return null ;
461553 }
554+ return null ;
462555 }
463556
464557 /**
@@ -487,8 +580,8 @@ public static String toWHIRLPOOLSum(byte[] binary, boolean upperCase) {
487580 return toMessageDigest ("WHIRLPOOL" , binary , upperCase );
488581 } catch (NoSuchAlgorithmException ex ) {
489582 logger .log (Level .SEVERE , ex .getMessage (), ex );
490- return null ;
491583 }
584+ return null ;
492585 }
493586
494587 /**
@@ -503,8 +596,8 @@ public static String toWHIRLPOOLSum(String str, boolean upperCase) {
503596 return toMessageDigest ("WHIRLPOOL" , str , StandardCharsets .ISO_8859_1 , upperCase );
504597 } catch (NoSuchAlgorithmException ex ) {
505598 logger .log (Level .SEVERE , ex .getMessage (), ex );
506- return null ;
507599 }
600+ return null ;
508601 }
509602
510603 /**
0 commit comments