Java を使用してファイルの MD5 チェックサムを取得したいと考えています。驚いたことに、ファイルの MD5 チェックサムを取得する方法を示すものが見つかりませんでした。
それはどうやってやるのですか?
ベストアンサー1
入力ストリーム デコレータ があるjava.security.DigestInputStream
ため、データに対して余分なパスを実行する必要がなく、通常どおり入力ストリームを使用しながらダイジェストを計算できます。
MessageDigest md = MessageDigest.getInstance("MD5");
try (InputStream is = Files.newInputStream(Paths.get("file.txt"));
DigestInputStream dis = new DigestInputStream(is, md))
{
/* Read decorated stream (dis) to EOF as normal... */
}
byte[] digest = md.digest();