Posts tagged Java
SHA512 hashing on Java
Nov 29th
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:
import java.security.*; public class cryptotest { public static void main(String[] args) throws NoSuchAlgorithmException { MessageDigest md; String message = "password"; try { md= MessageDigest.getInstance("SHA-512"); md.update(message.getBytes()); 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(out.length()); 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");
to
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");