I am using a java class CryptoSHA1BASE64.java to encrypt a plain text to sha1Base64 key
String result = CryptoSHA1BASE64.hash(text);
The code of the class - CryptoSHA1BASE64.java is
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.servlet.ServletException;
public final class CryptoSHA1BASE64 {
public static String hash(String plaintext) throws ServletException {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA"); // SHA-1 generator instance
} catch (NoSuchAlgorithmException e) {
throw new ServletException(e.getMessage());
}
try {
md.update(plaintext.getBytes("UTF-8")); // Message summary
// generation
} catch (UnsupportedEncodingException e) {
throw new ServletException(e.getMessage());
}
byte raw[] = md.digest(); // Message summary reception
try {
String hash = new String(org.apache.commons.codec.binary.Base64.encodeBase64(raw), "UTF-8");
return hash;
} catch (UnsupportedEncodingException use) {
throw new ServletException(use);
}
}
}
I want to decrypt the generated key back to plain text, i tried same approach i.e., the decrypt method of apache commons -
Base64.decodeBase64(key)
But, I gest some weird character instead of plain text. Any suggestions/comments would be of great help. Thanks!!!