O SHA1 hash pode ser gerado usando DigestUtils de Apache Commons.
sha1 = org.apache.commons.codec.digest.DigestUtils.sha1Hex( value );
O SHA1 hash também pode ser gerado diretamente usando a classe MessageDigest do jdk:
MessageDigest digest = MessageDigest.getInstance("SHA-1");
digest.reset();
digest.update(value.getBytes("utf8"));
sha1 = String.format("%040x", new BigInteger(1, digest.digest()));
Aqui está um exemplo criando o sha1 da String "este é um teste". Primeiro é usar o método usando a classe MessageDigest do jdk. Em seguida, usa a classe DigestUtils de Apache Commons. O sha1 gerado está escrito no console.
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
Java 8
Online tool generating SHA1
SHA1 Decoder