package org.ggp.base.util.crypto; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.security.DigestInputStream; import java.security.MessageDigest; import java.util.Formatter; public class BaseHashing { // Computes the SHA1 hash of a given input string, and represents // that hash as a hexadecimal string. public static String computeSHA1Hash(String theData) { try { MessageDigest SHA1 = MessageDigest.getInstance("SHA1"); DigestInputStream theDigestStream = new DigestInputStream( new BufferedInputStream(new ByteArrayInputStream( theData.getBytes("UTF-8"))), SHA1); while (theDigestStream.read() != -1); byte[] theHash = SHA1.digest(); Formatter hexFormat = new Formatter(); for (byte x : theHash) { hexFormat.format("%02x", x); } String theHex = hexFormat.toString(); hexFormat.close(); return theHex; } catch (Exception e) { e.printStackTrace(); return null; } } }