Com capolar SHA256 i SHA512 a partir d’una cadena en Java


Com capolar SHA256 i SHA512 a partir d’una cadena en Java

El SHA256 es pot generar utilitzant la classe MessageDigest al jdk.

Sintaxi:

 MessageDigest digest = MessageDigest.getInstance("SHA-256"); digest.reset(); digest.update(input.getBytes("utf8")); toReturn = String.format("%064x", new BigInteger(1, digest.digest()));

a

un SHA-512 també es pot generar sense biblioteques Java addicionals:

Sintaxi:

 MessageDigest digest = MessageDigest.getInstance("SHA-512"); digest.reset(); digest.update(input.getBytes("utf8")); toReturn = String.format("%0128x", new BigInteger(1, digest.digest()));

a

El següent codi crea 01:00 SHA256 i un SHA512 usant el “aquest és un exemple” com a entrada i les funcions SHA-2 Hash. Els primers 2 mètodes es creen un per a cada funció hash. El primer és per SHA-256 i genera el hash utilitzant la classe MessageDigest . El segon mètode es crea de la mateixa manera però utilitzant SHA-512. La validació de la sortida també genera el hash amb la classe DigestUtils d’Apache Commons. Tot el hash generat està escrit a la consola.

1- Crea el següent arxiu java:

import java.math.BigInteger;import java.security.MessageDigest;public class SHA2 { public static String getSHA256(String input){String toReturn = null;try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); digest.reset(); digest.update(input.getBytes("utf8")); toReturn = String.format("%064x", new BigInteger(1, digest.digest()));} catch (Exception e) { e.printStackTrace();}return toReturn; } public static String getSHA512(String input){String toReturn = null;try { MessageDigest digest = MessageDigest.getInstance("SHA-512"); digest.reset(); digest.update(input.getBytes("utf8")); toReturn = String.format("%0128x", new BigInteger(1, digest.digest()));} catch (Exception e) { e.printStackTrace();}return toReturn; } public static void main(String argv) {String inputValue = "this is an example";// With the java librariesString sha256 = getSHA256(inputValue);System.out.println("The SHA-256 of \"" + inputValue + "\" is:");System.out.println(sha256);System.out.println();// With Apache commonssha256 = org.apache.commons.codec.digest.DigestUtils.sha256Hex(inputValue);System.out.println("The SHA-256 of \"" + inputValue + "\" is:");System.out.println(sha256);System.out.println();// With the java librariesString sha512 = getSHA512( inputValue );System.out.println("The SHA-512 of \"" + inputValue + "\" is:");System.out.println(sha512);System.out.println();// With Apache commonssha512 = org.apache.commons.codec.digest.DigestUtils.sha512Hex(inputValue);System.out.println("The SHA-512 of \"" + inputValue + "\" is:");System.out.println(sha512); }}

El resultat serà:

The SHA-256 of "this is an example13" is:066f61646a92c8cf04943577b3c4d9ee6e5d125fe850b4c8c4d315ddd3aa1f50The SHA-256 of "this is an example13" is:066f61646a92c8cf04943577b3c4d9ee6e5d125fe850b4c8c4d315ddd3aa1f50The SHA-512 of "this is an example4" is:05c1649335528b45ab4965619db876e5090e42dfc526b486dde9368df2b77830c4e523cee1fd0054d9009729a6a11e697a1dd121e36be3ada593b8d76cb80cedThe SHA-512 of "this is an example4" is:05c1649335528b45ab4965619db876e5090e42dfc526b486dde9368df2b77830c4e523cee1fd0054d9009729a6a11e697a1dd121e36be3ada593b8d76cb80ced

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *