MessageDigest md = null;
try {
md = MessageDigest.getInstance(_algorithm);
}
catch (NoSuchAlgorithmException e) {
throw new SystemUnavailableException(e.getMessage());
}
try {
md.update(plaintext.getBytes("UTF-8"));
}
catch (UnsupportedEncodingException e) {
throw new SystemUnavailableException(e.getMessage());
}
byte raw[] = md.digest(); //step 4
String hash = new String((new Base64()).encode(raw));
return hash; //step 6