Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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
Java 如何将已知格式的二进制文件更改为自定义和不可发现的格式?_Java_Encryption_Transform - Fatal编程技术网

Java 如何将已知格式的二进制文件更改为自定义和不可发现的格式?

Java 如何将已知格式的二进制文件更改为自定义和不可发现的格式?,java,encryption,transform,Java,Encryption,Transform,例如,我有一个zip文件。我需要将该文件(我想到的是文件头或其他东西,里面的一些位或字节)更改为一些自定义格式,然后无法解压缩。另一方面,我以后可以使用反向算法恢复原始文件。有人能帮我吗 void encrypt(FileInputStream zip) { ... } void decrypt(FileInputStream dat) { ... } zip文件是通过检查文件的末尾来发现的,该文件是包含文件索引的地方 我会考虑先加密文件。如果需要,您可以自己加密文件。一个简单的方法

例如,我有一个zip文件。我需要将该文件(我想到的是文件头或其他东西,里面的一些位或字节)更改为一些自定义格式,然后无法解压缩。另一方面,我以后可以使用反向算法恢复原始文件。有人能帮我吗

void encrypt(FileInputStream zip) {
  ...
}

void decrypt(FileInputStream dat) {
  ...
}

zip文件是通过检查文件的末尾来发现的,该文件是包含文件索引的地方


我会考虑先加密文件。如果需要,您可以自己加密文件。一个简单的方法是将每个
字节
int
(4字节)与一个固定常数进行异或运算。

这是家庭作业吗?如果不是,并且实际上在生产系统中需要这个功能,请考虑不要自己实现这一点,因为在没有坚实的理论背景和大的开发预算的情况下,很难实现数据加密。最好使用一个已经运行的系统,类似或类似。这取决于您需要的加密量。您可以使用简单的加密算法(如Peter Lawrey建议的算法),也可以使用真正的对称密码。