Javaの標準機能でデータをハッシュ値を変換することが出来ます。
ハッシュ値はパスワードを暗号化するために使用されたり、データの一致を簡単に確認するためなどに使用されます。
ハッシュに変換するアルゴリズムは次のとおり様々あります。
- MD2
- MD5
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512/224
- SHA-512/256
- SHA3-224
- SHA3-256
- SHA3-384
- SHA3-512
ソースはこうです。「SHA3-512」でハッシュ化しています。
import java.math.BigInteger; import java.security.NoSuchAlgorithmException; import java.security.MessageDigest; ... // SHA3-512 MessageDigest sha3_512 = null; try { sha3_512 = MessageDigest.getInstance("SHA3-512"); } catch (NoSuchAlgorithmException e1) { e1.printStackTrace(); } byte[] sha3_256_result = sha3_512.digest("テスト1".getBytes()); System.out.println(String.format("%040x", new BigInteger(1, sha3_256_result)));
MessageDigestクラスでハッシュにしています。getInstanceメソッドでアルゴリズムを指定しています。指定できるアルゴリズムは MessageDigestアルゴリズム に記載があります。