MessageDigest?Java???????????,??????MD5?SHA-1?SHA-256???????????MessageDigest??????:
- ??getInstance????MessageDigest??,????????????,???MD5??,????????:
MessageDigest md = MessageDigest.getInstance("MD5");
- ??reset????MessageDigest?????,???????????????????,??????????MessageDigest?????:
md.reset();
- ??update???????????????????????,??????????????,?????????????????????:
md.update("Hello, world!".getBytes());
- ??digest??????????????????????????,????????????:
byte[] digest = md.digest();
- ??:????????????????,??????????????16?????:
StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(String.format("x", b)); } String hexDigest = sb.toString();
?????????:
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MessageDigestExample { public static void main(String[] args) { try { // ??MessageDigest?? MessageDigest md = MessageDigest.getInstance("MD5"); // ??MessageDigest????? md.reset(); // ?????????? md.update("Hello, world!".getBytes()); // ???? byte[] digest = md.digest(); // ??????16????? StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(String.format("x", b)); } String hexDigest = sb.toString(); System.out.println("??:" + hexDigest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } }
??????,?????????MD5???
??:???MessageDigest????????,?????????????,????????????????????????,?????????????MessageDigest???