package com.mindprod.example;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.util.Set;
import static java.lang.System.*;
/**
* Example use of SHA-1 with java.security.MessageDigest. Demonstrate how to compute a SHA-1 message digest.
*
* @author Roedy Green, Canadian Mind Products
* @version 1.0 2009-01-01 initial version
* @since 2009-01-01
*/
public final class TestSHA
{
/**
* Compute SHA-1 digest
*
* @param args not used
*
* @throws java.io.UnsupportedEncodingException if 8859_1 not supported.
* @throws java.security.NoSuchAlgorithmException if SHA not supported.
*/
public static void main( String[] args ) throws UnsupportedEncodingException, NoSuchAlgorithmException
{
final byte[] theTextToDigestAsBytes =
"The quick brown fox jumped over the lazy dog's back"
.getBytes( "8859_1");
final MessageDigest md = MessageDigest.getInstance( "SHA" );
md.update( theTextToDigestAsBytes );
final byte[] digest = md.digest();
out.println( "Algorithm used: " + md.getAlgorithm() );
out.println( "Digest is " + digest.length * 8 + " bits, " + digest.length + " bytes long." );
out.print( "Digest: " );
for ( byte b : digest )
{
out.printf( "%02X ", b & 0xff );
}
out.println();
final Set<String> algorithms = Security.getAlgorithms( "MessageDigest" );
for ( String algorithm : algorithms )
{
out.println( algorithm );
}
}
}