【Java】SHA256でハッシュ値を計算する
2023-2-1 | Java
Javaでハッシュ値(SHA256)を求めたい!
概要
今回の記事では、Javaでハッシュ値(SHA256)を求める手順を掲載する。
ハッシュ値を求めるアルゴリズムはいろいろあるんだけども、今回はSHA-2のバリエーションの1つであるSHA256を紹介する。
仕様書
- openjdk version "11.0.12" 2021-07-20
手順書
SHA256(SHA-2)でハッシュ値を計算してコンソールに出力するサンプル。
MessageDigest sha256 = null;
try
{
sha256 = MessageDigest.getInstance("SHA-256");
}
catch (NoSuchAlgorithmException e)
{
throw new RuntimeException(e);
}
byte[] result = sha256.digest("https://blog.nekonium.com".getBytes());
System.out.println("hash:" + String.format("%040x", new BigInteger(1, result)));
サンプルを実行すると当サイトのURLのhttps://blog.nekonium.com
のハッシュ値をSHA256(SHA-2)で計算して下記のようにコンソールに出力する。
hash: 25071def8c9caf1a9454905a2b4ee18c048c1245a6f81a7a9f14419bad8e040d
説明
MessageDigest.getInstance()
は、try
とcatch
で例外を対応しないとビルド時に怒られる。(怒られた)
MessageDigest.getInstance("MD5")
とするとMD5のハッシュ関数を使ってハッシュ値を計算するようになる。
まとめ(感想文)
当サイトで取り扱った言語でハッシュ値の求めやすさに順位をつけると下記のような感じ。(個人的な感想)
[簡単] PHP >>>>> Java >> C# > VBA [めんどい]