SHA512 hashing on Java

Hello! For my school project, I had been tought of crypting passwords of users. Due to the fact that, SHA1 algorithm has security problems (link) , I have decided using a SHA2. SHA2 has 3 variants: SHA256, SHA384 and SHA512. While I was searching how to implement SHA2 on Java,  I have found this link.

For SHA512 that code works:


public class cryptotest {
    public static void main(String[] args) throws NoSuchAlgorithmException {
        MessageDigest md;
        String message = "password";
        try {
            md= MessageDigest.getInstance("SHA-512");

            byte[] mb = md.digest();
            String out = "";
            for (int i = 0; i < mb.length; i++) {
                byte temp = mb[i];
                String s = Integer.toHexString(new Byte(temp));
                while (s.length() < 2) {
                    s = "0" + s;
                s = s.substring(s.length() - 2);
                out += s;
            System.out.println("CRYPTO: " + out);

        } catch (NoSuchAlgorithmException e) {
            System.out.println("ERROR: " + e.getMessage());

If you want to hash password with SHA256

, you can change the line:

md= MessageDigest.getInstance("SHA-512");


md= MessageDigest.getInstance("SHA-256");

For others:

md= MessageDigest.getInstance("MD5");
md= MessageDigest.getInstance("SHA");
md= MessageDigest.getInstance("SHA-1");
md= MessageDigest.getInstance("SHA-384");

I Got this Exception :-

com.qoppa.pdf.PDFException: JCE Provider does not support SHA hash algorithm.
at com.qoppa.pdf.SigningInformation.b(Unknown Source)
at com.qoppa.pdf.SigningInformation.(Unknown Source)
at mypack.JMD.main(

Your email address will not be published.

Time limit is exhausted. Please reload the CAPTCHA.