El hash SHA1 se puede generar usando DigestUtils
de Apache commons.
sha1 = org.apache.commons.codec.digest.DigestUtils.sha1Hex( value );
El hash SHA1 también se puede generar directamente usando la clase MessageDigest
del jdk:
MessageDigest digest = MessageDigest.getInstance("SHA-1"); digest.reset(); digest.update(value.getBytes("utf8")); sha1 = String.format("%040x", new BigInteger(1, digest.digest()));
Aquí hay un ejemplo que crea el sha1 de la cadena "esto es una prueba". Primero se usa el método usando la clase MessageDigest
del jdk. Luego utiliza la clase DigestUtils
de Apache commons. Los sha1 generados se escriben en la consola.
import java.math.BigInteger; import java.security.MessageDigest; public class SHA1 { public static void main(String[] argv){ String value = "this is a test"; String sha1 = ""; // With the java libraries try { MessageDigest digest = MessageDigest.getInstance("SHA-1"); digest.reset(); digest.update(value.getBytes("utf8")); sha1 = String.format("%040x", new BigInteger(1, digest.digest())); } catch (Exception e){ e.printStackTrace(); } System.out.println( "The sha1 of \""+ value + "\" is:"); System.out.println( sha1 ); System.out.println(); // With Apache commons sha1 = org.apache.commons.codec.digest.DigestUtils.sha1Hex( value ); System.out.println( "The sha1 of \""+ value + "\" is:"); System.out.println( sha1 ); } }
The sha1 of "this is a test" is: fa26be19de6bff93f70bc2308434e4a440bbad02 The sha1 of "this is a test" is: fa26be19de6bff93f70bc2308434e4a440bbad02