タイトルにあるように、サーバー (Ubuntu 20.04 を実行) に FTP 経由でファイル (私の場合は暗号化された jar) をアップロードし、ダウンロードしようとすると、jar の一部のバイトが変更されたように見えます (したがって、相対 sha チェックサムも変更されます)。
なぜこのようなことが起こるのか、またどのように「修正」すればよいのか知っている人はいますか?
元のファイルの詳細:
ダウンロードしたファイルの詳細:
元のファイルのバイト数:
ダウンロードされたファイルのバイト数:
アップデート: どうやら、これは jar 拡張子のファイルをアップロードした場合にのみ発生します。ファイル名を「Test_original.jar」から「Test_original」(拡張子なし) に変更してアップロードしてみましたが、sha256 はデスクトップ上のファイルと同じです。
アップデート pt.2: どうやらサーバー上ではコピーがオリジナルのものと一致しているので、ダウンロード要求が来たときにファイルのダウンロード中またはサーバーによる処理中に何か問題が発生したと推測しています (?)
答え1
おそらく、このプロセスで Windows マシンを使用し、FTPbinary
オプションを使用するのを忘れたのでしょう。
\r\n
Windowsでは他の Windows とは異なる行末 ( ) が使用されるため、デフォルトでは、 が先頭\n
に付いていないすべての が に変換されます。これはテキスト ファイルでは限定的に意味を持ちますが、バイナリ ファイルでは破壊的になります。\r
\r\n
これを回避する方法は、使用する FTP クライアントによって異なります。コマンド ライン クライアントの場合はbinary
ログイン後に入力するだけです。GUI クライアントの場合は、対応する構成設定を検索します。