legongju.com
我们一直在努力
2025-01-11 04:19 | 星期六

java如何获取文件hash值

?Java?,?????MessageDigest??????????????????,???????SHA-256??????????:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class FileHash {
    public static void main(String[] args) {
        String filePath = "path/to/your/file";
        String hash = getFileHash(filePath, "SHA-256");
        System.out.println("?????: " + hash);
    }

    public static String getFileHash(String filePath, String algorithm) {
        try {
            MessageDigest md = MessageDigest.getInstance(algorithm);
            File file = new File(filePath);
            FileInputStream fis = new FileInputStream(file);
            byte[] dataBytes = new byte[1024];
            int bytesRead;

            while ((bytesRead = fis.read(dataBytes)) != -1) {
                md.update(dataBytes, 0, bytesRead);
            }

            byte[] digestBytes = md.digest();
            StringBuilder sb = new StringBuilder();
            for (byte b : digestBytes) {
                sb.append(String.format("x", b));
            }

            return sb.toString();
        } catch (NoSuchAlgorithmException | IOException e) {
            e.printStackTrace();
            return null;
        }
    }
}

?path/to/your/file????????????????????????algorithm???????????,??MD5?SHA-1?

未经允许不得转载 » 本文链接:https://www.legongju.com/article/100737.html

相关推荐

  • java如何打印菱形

    java如何打印菱形

    在Java中,要打印一个菱形,你可以使用嵌套循环
    public class Diamond { public static void main(String[] args) { int n = 5; // 菱形的大小,可以根据需...

  • java如何输出数组的所有子集

    java如何输出数组的所有子集

    在Java中,可以使用递归的方法来输出数组的所有子集。以下是一个示例代码:
    import java.util.ArrayList;
    import java.util.Arrays;
    import java...

  • java如何打印请求报文

    java如何打印请求报文

    在Java中,要打印HTTP请求报文,你可以使用Java的网络编程库,例如java.net.HttpURLConnection。以下是一个简单的示例,展示了如何使用HttpURLConnection发送GET...

  • 打印直角三角形java怎么实现

    打印直角三角形java怎么实现

    在Java中,可以使用嵌套循环来实现打印直角三角形。以下是一个示例代码:
    public class RightTriangle { public static void main(String[] args) { int n ...

  • java如何获取字符串数字

    java如何获取字符串数字

    在Java中,你可以使用以下方法从字符串中提取数字: 使用正则表达式: import java.util.regex.Matcher;
    import java.util.regex.Pattern; public class Ma...

  • 约瑟夫环问题java怎么解决

    约瑟夫环问题java怎么解决

    约瑟夫环问题是一个著名的数学问题,可以使用 Java 编程语言来解决。这里给出一个使用队列(Queue)的解决方案:
    import java.util.LinkedList;
    impor...

  • java两点之间的距离怎么求

    java两点之间的距离怎么求

    在Java中,可以使用勾股定理来计算两点之间的距离。假设有两个点A(x1, y1)和B(x2, y2),那么这两点之间的距离可以通过以下公式计算:
    distance = Math.sqrt...

  • java如何对二维数组排序

    java如何对二维数组排序

    在Java中,可以使用Arrays.sort()方法对二维数组进行排序。但是,这个方法只能对一维数组进行排序。因此,你需要遍历二维数组的每一行,然后对每一行进行排序。以...