Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将.txt文件中的每一行与Java中的数组字符串进行比较_Java_Zip_Checksum - Fatal编程技术网

将.txt文件中的每一行与Java中的数组字符串进行比较

将.txt文件中的每一行与Java中的数组字符串进行比较,java,zip,checksum,Java,Zip,Checksum,我想将checksum1文件中的每一行与从file.zip获得的每个字符串值current\u crc进行比较 我怎么做呢?以及我是否有其他解决方案来检查从其他PC移动到另一台PC后zip文件中的文件 在从其他PC移动到另一台PC后,是否有其他解决方案检查zip文件中的文件 通常,我们使用哈希校验和来检查文件的完整性——它们效率更高,几乎同样可靠。例如: public static boolean checkChecksum(String filePath, String checksumPat

我想将
checksum1
文件中的每一行与从
file.zip
获得的每个字符串值
current\u crc
进行比较

我怎么做呢?以及我是否有其他解决方案来检查从其他PC移动到另一台PC后zip文件中的文件

在从其他PC移动到另一台PC后,是否有其他解决方案检查zip文件中的文件

通常,我们使用哈希校验和来检查文件的完整性——它们效率更高,几乎同样可靠。例如:

public static boolean checkChecksum(String filePath, String checksumPath) throws Exception{
    File file = new File(filePath);
    File checksum1 = new File(checksumPath);
    try {
        ZipFile zipFile = new ZipFile(file);     
        Enumeration e = zipFile.entries(); 
        while(e.hasMoreElements())  {
            ZipEntry entry = (ZipEntry)e.nextElement(); 
            String entryName = entry.getName();
            long crc = entry.getCrc();
            String current_crc = crc+"";
    }
    zipFile.close();
    return true;
    }       
    catch (IOException ioe) {
        log.debug("Zip file may be corrupted");
        System.out.println("Error opening zip file" + ioe);
        return false;
    } 
}
此代码从输入字节[](数据)生成一个小字节[]。要检查zip文件,只需从原始zip创建一个散列,并检查复制的zip的散列是否相同即可。您可以使用Arrays.equals()方法,也可以将字节数组转换为Base64字符串,以提高可读性


有趣的事实:两个256位哈希匹配的机会大致相当于在第一次尝试时正确猜测49个字符长的字母数字密码。

我想问一个问题,zip文件是否没有损坏,但该zip文件中的某些文件在传输复制/粘贴时损坏,上传/下载?哈希不关心数据的布局。如果你有一个zip文件,你可以从中读取所有字节,不管里面有什么“文件”。如果您读取所有这些数据,它将包含所有文件的数据,因此只有在所有文件都未损坏的情况下,它的哈希才会正确。
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(data);