MessageDigest?Java?????,???????????(hash?)??????????????(?MD5?SHA-1?SHA-256?)????
??MessageDigest????????:
-
??MessageDigest??:??MessageDigest?????getInstance(String algorithm)????????MessageDigest?????,???MD5?????,????
MessageDigest.getInstance("MD5")
? -
???MessageDigest:????
digest.reset()
??????MessageDigest??? -
??????????:??????
digest.update(byte[] input)
??,????????????MessageDigest?????????digest.update()
??????????? -
????:????
digest.digest()
??????????????????????
???????MD5???????????:
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MessageDigestExample { public static void main(String[] args) { try { // ??MD5???MessageDigest?? MessageDigest md = MessageDigest.getInstance("MD5"); // ???MessageDigest md.reset(); // ?????????? byte[] input = "Hello World".getBytes(); md.update(input); // ???? byte[] digest = md.digest(); // ?????? System.out.println("????:" + bytesToHex(digest)); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } // ??????????????? private static String bytesToHex(byte[] bytes) { StringBuilder result = new StringBuilder(); for (byte b : bytes) { result.append(String.format("x", b)); } return result.toString(); } }
??????,???????:
????:ed076287532e86365e841e92bfc50d8c
?????MessageDigest?????????????????,?????????????????