正如標題所說,當我透過我的伺服器(運行Ubuntu 20.04)上的FTP 上傳檔案(在我的例子中是加密的jar)並嘗試下載它時,jar 的一些位元組似乎被更改了(相對的sha 校驗和也是如此) )。
有誰知道為什麼會發生這種情況以及如何「修復」?
原始文件詳細資料:
下載的文件詳細資訊:
原始文件位元組:
下載的檔案位元組:
更新:顯然,只有當我上傳帶有 jar 副檔名的檔案時才會發生這種情況。我嘗試將文件從“Test_original.jar”重新命名為“Test_original”(不含副檔名)並上傳,sha256 與我桌面上的檔案相同。
更新第 2 部分:顯然在伺服器上,副本與原始副本匹配,因此我假設在下載請求到來時下載/伺服器處理文件期間出現了問題(?)
答案1
您很可能在此過程中使用了 Windows 計算機,但忘記使用 FTPbinary
選項。
\r\n
由於 Windows 使用與世界其他地方不同的行結束符 ( ),因此預設會將所有\n
不帶 a 前綴的行\r
轉換為\r\n
.這對於文字檔案來說意義有限,但對於二進位檔案來說卻具有破壞性。
如何避免這種情況取決於您使用的 FTP 用戶端:對於命令列客戶端,只需binary
在登入後鍵入,對於 GUI 用戶端,搜尋對應的配置設定。