分类: JAVA 发表时间: 2019年09月16日

标题: Java计算数据摘要: MD5

摘要: Java计算数据摘要信息的方式总结

摘要计算方式

  1. import java.math.BigInteger;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4. // ...
  5. public static String md5(byte[] bytes) throws NoSuchAlgorithmException {
  6. MessageDigest md = MessageDigest.getInstance("MD5");
  7. // 计算md5函数
  8. md.update(bytes);
  9. // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
  10. // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
  11. return new BigInteger(1, md.digest()).toString(16);
  12. }

支持的算法列表

  • MD5
  • SHA-1
  • SHA-256

计算文件摘要

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. // ...
  5. public static String md5(byte[] bytes) throws NoSuchAlgorithmException {
  6. // ...
  7. }
  8. public static String md5(File file) throws IOException {
  9. return md5(new FileInputStream(file).readAllBytes());
  10. }