Java MD5生成摘要
在实际情况中,有时候明文不适合直接存储,比如登录密码,如果直接使用明文来存储到数据库中,就会很容易地被发现,这时就要用Hash算法将明文产生消息摘要,将摘要存储到数据库中。验证密码时,将输入的密码用同样的方法产生摘要与数据库中的进行对比即可完成验证。
以下是在Java中使用MD5生成摘要的方法:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.Scanner;
public class MD5Test {
public static String md5Digest(String plaintext){
String digest = "";
try {
MessageDigest md = MessageDigest.getInstance("md5");
byte[] bytes = md.digest(plaintext.getBytes());
digest = Base64.getEncoder().encodeToString(bytes);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return digest;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("明文:");
String plaintext = sc.next();
String digest = md5Digest(plaintext);
System.out.println("摘要:"+digest);
}
}
运行结果如下: