FTP 経由でアップロードした後の異なるファイル

FTP 経由でアップロードした後の異なるファイル

タイトルにあるように、サーバー (Ubuntu 20.04 を実行) に FTP 経由でファイル (私の場合は暗号化された jar) をアップロードし、ダウンロードしようとすると、jar の一部のバイトが変更されたように見えます (したがって、相対 sha チェックサムも変更されます)。

なぜこのようなことが起こるのか、またどのように「修正」すればよいのか知っている人はいますか?

元のファイルの詳細:

元のファイルの詳細

ダウンロードしたファイルの詳細:

ダウンロードしたファイルの詳細

元のファイルのバイト数:

元のファイルのバイト数

ダウンロードされたファイルのバイト数:

ダウンロードされたファイルのバイト数

アップデート: どうやら、これは jar 拡張子のファイルをアップロードした場合にのみ発生します。ファイル名を「Test_original.jar」から「Test_original」(拡張子なし) に変更してアップロードしてみましたが、sha256 はデスクトップ上のファイルと同じです。

アップデート pt.2: どうやらサーバー上ではコピーがオリジナルのものと一致しているので、ダウンロード要求が来たときにファイルのダウンロード中またはサーバーによる処理中に何か問題が発生したと推測しています (?)

答え1

おそらく、このプロセスで Windows マシンを使用し、FTPbinaryオプションを使用するのを忘れたのでしょう。

\r\nWindowsでは他の Windows とは異なる行末 ( ) が使用されるため、デフォルトでは、 が先頭\nに付いていないすべての が に変換されます。これはテキスト ファイルでは限定的に意味を持ちますが、バイナリ ファイルでは破壊的になります。\r\r\n

これを回避する方法は、使用する FTP クライアントによって異なります。コマンド ライン クライアントの場合はbinaryログイン後に入力するだけです。GUI クライアントの場合は、対応する構成設定を検索します。

関連情報