View Source

h4. The Code
{code}
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
* @author Kees de Kooter (kees@boplicity.net)
*
*/
public class ShaSignature {

public String getSignature(String payload) {

String signature = null;

try {
MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
messageDigest.update(payload.getBytes());
byte[] hashBytes = messageDigest.digest();

StringBuffer stringBuffer = new StringBuffer();

// Convert bytes to string
for (int i = 0; i < hashBytes.length; i++) {
String plainText = Integer.toHexString(0xFF & hashBytes[i]);

if (plainText.length() < 2) stringBuffer.append("0");

stringBuffer.append(plainText);
}

signature = stringBuffer.toString();

} catch (NoSuchAlgorithmException e) {
logger.error(e.toString());
}

return signature;
}
}
{code}
h4. References
Online calculation of hashes: http://discodia.org/en/md5