I would recommend you look into the java cryptography extension (jce)
JCE main page
Suns JCE guide
Have a read through those and then I have included a simple password encoder which I use quite often to perform simple encryptions:
package com.onevision.loanmanager.service.helper;
import java.security.MessageDigest;
import org.apache.log4j.Logger;
import sun.misc.BASE64Encoder;
public abstract class PasswordEncoder {
private static final String CHARACTER_ENCODING = "UTF-8";
private static final String DEFAULT_ALGORITHM = "SHA-256";
private static final Logger LOG = Logger.getLogger(PasswordEncoder.class);
public static String encodePassword(String rawPassword) {
return encodePassword(rawPassword, DEFAULT_ALGORITHM);
}
public static String encodePassword(String rawPassword,
String encryptionAlgorithm) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance(encryptionAlgorithm);
md.update(rawPassword.getBytes(CHARACTER_ENCODING));
byte raw[] = md.digest();
String hash = (new BASE64Encoder()).encode(raw);
return hash;
} catch (Exception e) {
LOG.fatal(
"Error encrypting the password so returning plain text: ",
e);
}
return rawPassword;
}
}