Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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
C# 为什么更改文件中的几个字节不会损坏文件?_C#_File_Corrupt_Corrupt Data - Fatal编程技术网

C# 为什么更改文件中的几个字节不会损坏文件?

C# 为什么更改文件中的几个字节不会损坏文件?,c#,file,corrupt,corrupt-data,C#,File,Corrupt,Corrupt Data,在C#中,我有一个ZIP文件,我想通过对其字节进行XORing或NULL操作来破坏它。 (我所说的空值是指将文件中的所有字节设为零) 对其字节进行异或运算需要我首先将字节读入字节数组,将数组中的字节与某个值异或,然后将字节写回文件 现在,如果我对文件的所有(或一半)字节执行XOR/Null,它就会损坏,但如果 XOR/Null一些字节,比如前几个字节(或文件中任何位置的任意几个字节),它不会被破坏,我的意思是,我仍然可以访问文件,就好像什么都没有发生一样 同样的事情也发生在mp3文件上 为什么文

在C#中,我有一个ZIP文件,我想通过对其字节进行XORing或NULL操作来破坏它。 (我所说的空值是指将文件中的所有字节设为零) 对其字节进行异或运算需要我首先将字节读入字节数组,将数组中的字节与某个值异或,然后将字节写回文件

现在,如果我对文件的所有(或一半)字节执行XOR/Null,它就会损坏,但如果 XOR/Null一些字节,比如前几个字节(或文件中任何位置的任意几个字节),它不会被破坏,我的意思是,我仍然可以访问文件,就好像什么都没有发生一样

同样的事情也发生在mp3文件上

为什么文件没有损坏? 有没有一种“快速”的方法可以让我破坏文件

问题是我处理的zip文件很大, 因此,即使对其一半字节进行XORing/Nulling,也需要几秒钟的时间


提前非常感谢……)

只要完全读取所有文件,很可能会出现读取错误

当然,如果你想保密,就要使用加密

一个zip包含一个小的头文件、一个目录结构(末尾是一个文件)以及各个文件之间的文件。有关详细信息,请参阅

损坏第一个字节肯定会损坏文件,但也很容易修复。读取器将无法在末尾找到目录块

损坏最后一个块具有相同的效果:读卡器将立即放弃,但它是可以修复的


中间更改一个字节会损坏1个文件。CRC将失败

只要完全读取所有文件,很可能会出现读取错误

当然,如果你想保密,就要使用加密

一个zip包含一个小的头文件、一个目录结构(末尾是一个文件)以及各个文件之间的文件。有关详细信息,请参阅

损坏第一个字节肯定会损坏文件,但也很容易修复。读取器将无法在末尾找到目录块

损坏最后一个块具有相同的效果:读卡器将立即放弃,但它是可以修复的


中间更改一个字节会损坏1个文件。CRC将失败

这取决于您试图“损坏”的文件格式。这还取决于您试图修改文件的哪一部分。最后,这取决于您如何验证它是否已损坏。大多数文件格式都有某种类型的错误检测

另一件对你不利的事情是,使用了。此外,目录结构有两个副本,因此需要同时损坏这两个副本


我建议您在最后损坏目录,然后修改前面的一些字节

这取决于您试图“损坏”的文件格式。这还取决于您试图修改文件的哪一部分。最后,这取决于您如何验证它是否已损坏。大多数文件格式都有某种类型的错误检测

另一件对你不利的事情是,使用了。此外,目录结构有两个副本,因此需要同时损坏这两个副本

我建议您在最后损坏目录,然后修改前面的一些字节

我可以用通行证锁定zip条目,但我不想让任何人打开它看看里面有什么

这听起来好像你在寻找一种安全删除的方法。如果您只是不希望有人阅读该文件,请将其删除。否则,除非你做一些极端的事情,比如用不同的值检查十几次,或者在上面应用一些复杂的算法一百次,否则仍然会有方法读取数据,即使格式是“损坏的”

另一方面,破坏一个文件仅仅是为了阻止其他人访问它,这在传统上似乎有些过分。如果它是一个zip,你可以读入(这里有很多关于处理归档文件的问题),用密码加密,然后写出来。如果它是一种不同类型的文件,那么在加密、隐藏或以其他方式阻止访问数据方面,实际上有一百万种不同的问题和解决方案。破坏一个文件不是你应该特意做的事情,除非这是为了帮助测试某种非压缩编码程序或类似的东西,但是你的评论暗示这是为了阻止访问。也许你想做这件事的更多背景知识可以帮助我们提供更好的答案

我可以用通行证锁定zip条目,但我不想让任何人打开它看看里面有什么

这听起来好像你在寻找一种安全删除的方法。如果您只是不希望有人阅读该文件,请将其删除。否则,除非你做一些极端的事情,比如用不同的值检查十几次,或者在上面应用一些复杂的算法一百次,否则仍然会有方法读取数据,即使格式是“损坏的”


另一方面,破坏一个文件仅仅是为了阻止其他人访问它,这在传统上似乎有些过分。如果它是一个zip,你可以读入(这里有很多关于处理归档文件的问题),用密码加密,然后写出来。如果它是一种不同类型的文件,那么在加密、隐藏或以其他方式阻止访问数据方面,实际上有一百万种不同的问题和解决方案。破坏一个文件不是你应该特意做的事情,除非这是为了帮助测试某种非压缩编码程序或类似的东西,但是你的评论暗示这是为了阻止访问。也许您需要了解更多关于为什么要这样做的背景知识可以帮助我们提供更好的答案?

您是如何测试它是否已损坏的?为什么要损坏zip文件?这似乎是一个解决问题的办法,应该用不同的方法来解决。然而,ZIP f