Title here
Summary here
Here’s the translation of the SHA256 Hashes example from Go to Java:
Our first program demonstrates how to compute SHA256 hashes in Java. SHA256 hashes are frequently used to compute short identities for binary or text blobs. For example, TLS/SSL certificates use SHA256 to compute a certificate’s signature.
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Hashes {
public static void main(String[] args) {
String s = "sha256 this string";
try {
// Here we start with a new hash.
MessageDigest digest = MessageDigest.getInstance("SHA-256");
// Update expects bytes. If you have a string s,
// use s.getBytes() to coerce it to bytes.
digest.update(s.getBytes());
// This gets the finalized hash result as a byte array.
byte[] hash = digest.digest();
System.out.println(s);
System.out.printf("%064x%n", new java.math.BigInteger(1, hash));
} catch (NoSuchAlgorithmException e) {
System.out.println("SHA-256 algorithm not found");
}
}
}
Running the program computes the hash and prints it in a human-readable hex format.
$ javac SHA256Hashes.java
$ java SHA256Hashes
sha256 this string
1af1dfa857bf1d8814fe1af8983c18080019922e557f15a8a0678ff2b9c8a95c
You can compute other hashes using a similar pattern to the one shown above. For example, to compute SHA512 hashes, you can use MessageDigest.getInstance("SHA-512")
.
Note that if you need cryptographically secure hashes, you should carefully research hash strength!