Java的md5加密实例
程序员文章站
2022-03-14 22:49:21
...
package com.zgj.md5_learn;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.Scanner;
/**
* 32位md5加密方法操作类
*/
public class MD5Test {
public static String getMD5(String pwd){
try{
//java.security.MessageDigest类用于为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。
// 简单点说就是用于生成散列码。
// 信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。
//创建具有指定算法名称的MessageDigest 实例对象。
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
//使用指定的字节数组更新摘要。
messageDigest.update(pwd.getBytes());
//通过执行诸如填充之类的最终操作完成哈希计算。
byte[] res = messageDigest.digest();
//BigInteger构造方法的signum参数表示转换后数的符号,1表示正数,-1表示负数
//toString方法的参数radix表示转换的进制数,此处是16进制
return new BigInteger(1,res).toString(16);
}catch (Exception e){
System.out.println("加密异常.....");
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String pwd;
while (true){
System.out.println("请输入:");
pwd = scanner.next();
System.out.println("加密结果是:");
System.out.println(getMD5(pwd));
}
}
}