📅  最后修改于: 2023-12-03 15:01:55.449000             🧑  作者: Mango
在Java中,java.security.MessageDigest
类提供了实现消息摘要算法的功能。它是一个抽象类,不能直接实例化,但可以通过静态方法getInstance()
获得密钥的摘要信息。
getInstance()
方法有两种重载方式:
getInstance(String algorithm)
- 返回指定算法的 MessageDigest 对象getInstance(String algorithm, Provider provider)
- 返回指定算法和提供者的 MessageDigest 对象其中,algorithm
参数是指定使用的算法名称。常见的算法有MD5、SHA-1、SHA-256等。
如果不指定提供者,系统将默认使用JDK提供的提供者。
下面是一个示例,演示如何使用getInstance()
方法获取MessageDigest对象,并使用该对象计算字符串的MD5摘要:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class MessageDigestExample {
public static void main(String[] args) throws NoSuchAlgorithmException {
// 获取MessageDigest实例
MessageDigest md = MessageDigest.getInstance("MD5");
// 计算字符串的MD5摘要
String inputString = "Hello World";
byte[] inputBytes = inputString.getBytes();
byte[] hashBytes = md.digest(inputBytes);
// 输出结果
System.out.println("输入字符串:" + inputString);
System.out.println("摘要结果:" + Arrays.toString(hashBytes));
}
}
输出结果如下:
输入字符串:Hello World
摘要结果:[-87, -35, -24, -70, -78, -106, -54, -126, -108, -27, 97, -23, 84, -64, -63, -68]
以上就是使用getInstance()
方法获取MessageDigest实例的示例。开发者可以根据自己的需求选择不同的算法进行摘要计算。