相关疑难解决方法(0)

用Java获取文件的MD5校验和

我希望使用Java来获取文件的MD5校验和.我真的很惊讶,但我找不到任何显示如何获取文件的MD5校验和的内容.

怎么做?

java checksum md5

487
推荐指数
18
解决办法
39万
查看次数

如何用Java计算文件的哈希值?

我编写了以下程序来计算Java中字符串的SHA-256哈希值:

public class ToHash {

    public static void main(String[] args)  {

        byte[] data = "test".getBytes("UTF8");
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        byte[] hash = digest.digest(data);
        System.out.println(new BASE64Encoder().encode(hash));

    }
}
Run Code Online (Sandbox Code Playgroud)

嗯,这很好.在下一步中,我想以接受文件并计算其哈希值的方式开发它.我的解决方案是在字符串数组中读取整个文件,并在该字符串数组上调用该digest()方法.但是有两个问题:

  1. 我不知道如何将整个文件读入数组?目前我认为我必须逐行阅读并附加一个带有新行的数组!

  2. 以上方法需要大量文件的大量内存!


这是我当前读取文件的程序:

public class ToHash {

    public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException, FileNotFoundException, IOException {
        // TODO code application logic here

        // The name of the file to open.
        String fileName = "C:\\Users\\ghasemi\\Desktop\\1.png";
        BufferedReader br = null;

        try {

            String sCurrentLine;
            br = new BufferedReader(new FileReader(fileName));
            while …
Run Code Online (Sandbox Code Playgroud)

java arrays hash file-io

7
推荐指数
1
解决办法
2万
查看次数

FileChannel ByteBuffer和Hashing Files

我在java中构建了一个文件哈希方法,它接受a的输入字符串表示,filepath+filename然后计算该文件的哈希值.散列可以是任何本机支持的java散列算法,例如MD2through SHA-512.

我试图找出最后一滴性能,因为这个方法是我正在研究的项目的一个组成部分.我被建议尝试使用FileChannel而不是常规FileInputStream.

我原来的方法:

    /**
     * Gets Hash of file.
     * 
     * @param file String path + filename of file to get hash.
     * @param hashAlgo Hash algorithm to use. <br/>
     *     Supported algorithms are: <br/>
     *     MD2, MD5 <br/>
     *     SHA-1 <br/>
     *     SHA-256, SHA-384, SHA-512
     * @return String value of hash. (Variable length dependent on hash algorithm used)
     * @throws IOException If file is invalid.
     * @throws HashTypeException If …
Run Code Online (Sandbox Code Playgroud)

java hash file

5
推荐指数
1
解决办法
3607
查看次数

标签 统计

java ×3

hash ×2

arrays ×1

checksum ×1

file ×1

file-io ×1

md5 ×1