通过 FTP 上传后出现不同的文件

通过 FTP 上传后出现不同的文件

正如标题所说,当我通过服务器(运行 Ubuntu 20.04)上的 FTP 上传文件(在我的情况下是加密的 jar)并尝试下载它时,jar 的某些字节似乎发生了更改(相对 sha 校验和也是如此)。

有人知道为什么会发生这种情况以及如何“解决”?

原始文件详细信息:

原始文件详细信息

下载文件详情:

下载文件详细信息

原始文件字节数:

原始文件字节数

下载的文件字节数:

下载的文件字节数

更新:显然,只有当我上传带有 jar 扩展名的文件时才会发生这种情况。我尝试将文件从“Test_original.jar”重命名为“Test_original”(不带扩展名)并上传,sha256 与桌面上的文件相同。

更新第 2 部分:显然服务器上的副本与原始副本匹配,所以我假设在下载请求到来时下载/服务器处理文件期间出现了问题(?)

答案1

最有可能的是,您在此过程中使用了 Windows 机器,但忘记使用 FTPbinary选项。

由于 Windows 使用的行尾 ( \r\n) 与世界其他地方不同,因此默认将\n不以 a 为前缀的所有行\r转换为\r\n。 这对于文本文件意义不大,但对二进制文件却有破坏性。

如何避免这种情况取决于您使用的 FTP 客户端:对于命令行客户端,只需binary在登录后输入,对于 GUI 客户端,搜索相应的配置设置。

相关内容