Skip to content

Commit

Permalink
Support SHAKE128/SHAKE256
Browse files Browse the repository at this point in the history
  • Loading branch information
isayan committed Mar 3, 2024
1 parent 37348f6 commit b234278
Show file tree
Hide file tree
Showing 10 changed files with 215 additions and 25 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
netbeans.org-netbeans-modules-javascript2-requirejs.enabled=true
release_version_major=3.0
release_version_minor=8.4
release_version_minor=8.5
netbeans.license=mit
10 changes: 9 additions & 1 deletion help/help-ja.html
Original file line number Diff line number Diff line change
Expand Up @@ -1884,6 +1884,14 @@ <h5 id="_hashchecksum">Hash/Checksum</h5>
<dd>
<p>sha3-512によるハッシュを計算します。</p>
</dd>
<dt class="hdlist1">SHAKE128</dt>
<dd>
<p>SHAKE128によるハッシュを計算します。</p>
</dd>
<dt class="hdlist1">SHAK256</dt>
<dd>
<p>SHAK256によるハッシュを計算します。</p>
</dd>
<dt class="hdlist1">RIPEMD128</dt>
<dd>
<p>RIPEMD128によるハッシュを計算します。</p>
Expand Down Expand Up @@ -2424,7 +2432,7 @@ <h3 id="_version">3.10. Version</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2024-02-22 20:23:18 +0900
Last updated 2024-03-03 22:52:09 +0900
</div>
</div>
</body>
Expand Down
10 changes: 9 additions & 1 deletion help/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -1909,6 +1909,14 @@ <h5 id="_hashchecksum">Hash/Checksum</h5>
<dd>
<p>Calculate hash with sha3-512</p>
</dd>
<dt class="hdlist1">SHAKE128</dt>
<dd>
<p>Calculate hash with SHAKE128</p>
</dd>
<dt class="hdlist1">SHAK256</dt>
<dd>
<p>Calculate hash with SHAKE256</p>
</dd>
<dt class="hdlist1">RIPEMD128</dt>
<dd>
<p>Calculate hash with RIPEMD128</p>
Expand Down Expand Up @@ -2458,7 +2466,7 @@ <h3 id="_version">3.11. Version</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2024-02-22 20:22:38 +0900
Last updated 2024-03-03 22:51:14 +0900
</div>
</div>
</body>
Expand Down
Binary file modified release/YaguraExtension-v3.0.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions src/main/help/help-ja.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -868,6 +868,12 @@ sha3-384::
sha3-512::
sha3-512によるハッシュを計算します。

SHAKE128::
SHAKE128によるハッシュを計算します。

SHAK256::
SHAK256によるハッシュを計算します。

RIPEMD128::
RIPEMD128によるハッシュを計算します。

Expand Down
5 changes: 5 additions & 0 deletions src/main/help/help.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,11 @@ sha3-384::
sha3-512::
Calculate hash with sha3-512

SHAKE128::
Calculate hash with SHAKE128

SHAK256::
Calculate hash with SHAKE256

RIPEMD128::
Calculate hash with RIPEMD128
Expand Down
123 changes: 108 additions & 15 deletions src/main/java/extend/util/external/BouncyUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
* @author isayan
*/
public class BouncyUtil {

private final static Logger logger = Logger.getLogger(BouncyUtil.class.getName());

private final static BouncyCastleProvider BC_PROVIDER = new BouncyCastleProvider();
Expand Down Expand Up @@ -199,6 +200,98 @@ public static String toMessageDigest(String algorithm, byte[] binary, boolean up
}
}

/**
* SHAKE128値の取得
*
* @param binary 対象バイト
* @param upperCase 大文字で出力
* @return ハッシュ値
*/
public static String toSHAKE128um(byte[] binary, boolean upperCase) {
try {
return toMessageDigest("SHAKE128", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
return null;
}

/**
* SHAKE128値の取得
*
* @param str 対象文字列
* @param upperCase 大文字で出力
* @return ハッシュ値
*/
public static String toSHAKE128Sum(String str, boolean upperCase) {
try {
return toMessageDigest("SHAKE128", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
return null;
}

/**
* SHAKE128値の取得
*
* @param str 対象文字列
* @param charset エンコーディング
* @param upperCase
* @return ハッシュ値
* @throws UnsupportedEncodingException
*/
public static String toSHAKE128Sum(String str, String charset, boolean upperCase)
throws UnsupportedEncodingException {
return toSHAKE128um(StringUtil.getBytesCharset(str, charset), upperCase);
}

/**
* SHAKE256値の取得
*
* @param binary 対象バイト
* @param upperCase 大文字で出力
* @return ハッシュ値
*/
public static String toSHAKE256um(byte[] binary, boolean upperCase) {
try {
return toMessageDigest("SHAKE256", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
return null;
}

/**
* SHAKE256値の取得
*
* @param str 対象文字列
* @param upperCase 大文字で出力
* @return ハッシュ値
*/
public static String toSHAKE256um(String str, boolean upperCase) {
try {
return toMessageDigest("SHAKE256", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
return null;
}

/**
* SHAKE256値の取得
*
* @param str 対象文字列
* @param charset エンコーディング
* @param upperCase
* @return ハッシュ値
* @throws UnsupportedEncodingException
*/
public static String toSHAKE256um(String str, String charset, boolean upperCase)
throws UnsupportedEncodingException {
return toSHAKE256um(StringUtil.getBytesCharset(str, charset), upperCase);
}

/**
* RIPEMD128値の取得
*
Expand All @@ -210,9 +303,9 @@ public static String toRIPEMD128Sum(byte[] binary, boolean upperCase) {
try {
return toMessageDigest("RIPEMD128", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
return null;
}

/**
Expand All @@ -227,8 +320,8 @@ public static String toRIPEMD128Sum(String str, boolean upperCase) {
return toMessageDigest("RIPEMD128", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -257,8 +350,8 @@ public static String toRIPEMD160Sum(byte[] binary, boolean upperCase) {
return toMessageDigest("RIPEMD160", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -273,8 +366,8 @@ public static String toRIPEMD160Sum(String str, boolean upperCase) {
return toMessageDigest("RIPEMD160", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -303,8 +396,8 @@ public static String toRIPEMD256Sum(byte[] binary, boolean upperCase) {
return toMessageDigest("RIPEMD256", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -319,8 +412,8 @@ public static String toRIPEMD256Sum(String str, boolean upperCase) {
return toMessageDigest("RIPEMD256", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -349,8 +442,8 @@ public static String toRIPEMD320Sum(byte[] binary, boolean upperCase) {
return toMessageDigest("RIPEMD320", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -365,8 +458,8 @@ public static String toRIPEMD320Sum(String str, boolean upperCase) {
return toMessageDigest("RIPEMD320", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -395,8 +488,8 @@ public static String toTigerSum(byte[] binary, boolean upperCase) {
return toMessageDigest("Tiger", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -411,8 +504,8 @@ public static String toTigerSum(String str, boolean upperCase) {
return toMessageDigest("Tiger", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -441,8 +534,8 @@ public static String toGOST3411Sum(byte[] binary, boolean upperCase) {
return toMessageDigest("GOST3411", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -457,8 +550,8 @@ public static String toGOST3411Sum(String str, boolean upperCase) {
return toMessageDigest("GOST3411", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down Expand Up @@ -487,8 +580,8 @@ public static String toWHIRLPOOLSum(byte[] binary, boolean upperCase) {
return toMessageDigest("WHIRLPOOL", binary, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand All @@ -503,8 +596,8 @@ public static String toWHIRLPOOLSum(String str, boolean upperCase) {
return toMessageDigest("WHIRLPOOL", str, StandardCharsets.ISO_8859_1, upperCase);
} catch (NoSuchAlgorithmException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
return null;
}
return null;
}

/**
Expand Down
24 changes: 20 additions & 4 deletions src/main/java/yagura/view/JTransCoderTab.form
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,-40,0,0,4,-108"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,-24,0,0,4,-108"/>
</AuxValues>

<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
Expand Down Expand Up @@ -622,7 +622,7 @@

<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
<Property name="columns" type="int" value="3"/>
<Property name="rows" type="int" value="7"/>
<Property name="rows" type="int" value="8"/>
</Layout>
<SubComponents>
<Component class="javax.swing.JButton" name="btnHashMd2">
Expand Down Expand Up @@ -729,6 +729,22 @@
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnHashSha3_512ActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="btnSHAKE128">
<Properties>
<Property name="text" type="java.lang.String" value="SHAKE128"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSHAKE128ActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="btnSHAKE256">
<Properties>
<Property name="text" type="java.lang.String" value="SHAKE256"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSHAKE256ActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="btnHashRIPEMD128">
<Properties>
<Property name="text" type="java.lang.String" value="RIPEMD128"/>
Expand Down Expand Up @@ -2205,7 +2221,7 @@
<Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace pref="413" max="32767" attributes="0"/>
<EmptySpace pref="429" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
Expand Down Expand Up @@ -2379,7 +2395,7 @@
<Component id="lblRadix32" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="btnRadix32Copy" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace pref="494" max="32767" attributes="0"/>
<EmptySpace pref="510" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
Expand Down
Loading

0 comments on commit b234278

Please sign in to comment.