第1步:创建MessageDigest对象 —— getInstance()
MessageDigest
类提供名为getInstance()
的方法。该变量指定要使用的算法的名称,并返回实现指定算法的MessageDigest
对象。
MessageDigest md = MessageDigest.getInstance("SHA-256");
第2步:将数据传递给创建的MessageDigest对象 —— update()
将数据传递给它。 可以使用MessageDigest
类的update()
方法,此方法接受表示消息的字节数组,并将其传递给上面创建的MessageDigest
对象。
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(msg.getBytes());
使用digest()
方法生成消息摘要,此方法计算当前对象的散列函数,并以字节数组的形式返回消息摘要。
使用摘要方法生成消息摘要。
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(msg.getBytes());
byte[] digest = md.digest();
DEMO:
package practice;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Task
{
public static void main(String[] args)
{
String msg = "ABCDEFG";//待加密数据
try
{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(msg.getBytes());
byte[] digest = md.digest();
System.out.println(new String(digest).toString());
} catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
}
}