1 MB の ZIP テストファイル
ファイル情報
| ファイル形式 | ZIP |
|---|---|
| ファイルサイズ | 1 MB(1,048,764 バイト) |
| MIME Type | application/zip |
| MD5 | 187fce52fd78f14e20074cfdb5d09f88 |
| SHA-1 | a2d07ef7f0cd7102ce2235525b04de5b5ccaf51a |
| SHA-256 | 925dae377bd5b8db8f9907e762aca78b78fb69f0755db007e201653417cf4695 |
コマンドでダウンロード
curl -O https://devlab.itlibra.com/files/zip/zip-1mb.zip
wget https://devlab.itlibra.com/files/zip/zip-1mb.zip
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/zip/zip-1mb.zip" -OutFile "zip-1mb.zip"
このファイルについて
1 MB のZIPテストファイルです。ファイルサイズはちょうど 1,048,764 バイトで、アップロード上限の検証やファイル処理の動作確認に、登録不要・完全無料でお使いいただけます。
上に掲載している MD5 / SHA-1 / SHA-256 の値は、このファイルの内容から計算した実際のハッシュです。ダウンロード後に同じ値になるかを確かめれば、転送が途中で壊れていないことを確認できます。ハッシュ計算ライブラリの期待値としてもそのまま使えます。
このサイズが実務で意味すること
1 MB は nginx の client_max_body_size のデフォルト値 (1m) とちょうど同じです。設定を明示していないリバースプロキシ配下では、これを超えた瞬間にアプリまで届かず 413 Request Entity Too Large が返ります。
つまり「アプリ側の上限を 10 MB に上げたのに 1 MB で弾かれる」という典型的な事故の再現に最適なサイズです。413 がアプリのログに残らない場合、原因はほぼ手前のプロキシ層にあります。
この容量の目安
回線速度 10 Mbps なら転送に約 839 ミリ秒、100 Mbps なら約 84 ミリ秒かかります。Base64 に変換すると約 1,366 KB に膨らみます。
ZIP は中身によって圧縮率が桁違いに変わります。テキスト主体なら展開後は 3〜5 倍、すでに圧縮済みの画像や動画ならほぼ変わりません。この 1 MB のアーカイブも、展開後のサイズを前提にしたディスク容量チェックが必要かどうかの判断に使えます。
この形式で確認すべきポイント
ZIP は PK\x03\x04 で始まりますが、収録ファイルの一覧 (セントラルディレクトリ) はファイルの末尾にあります。したがって先頭だけを読んでも中身は分からず、末尾が欠けた時点で展開不能になります。
- 展開後の合計サイズに上限を設けているか (圧縮率を悪用した ZIP 爆弾は数 KB が数 GB に展開される)
- エントリ名に
../が含まれる場合を弾いているか (Zip Slip と呼ばれるディレクトリトラバーサル攻撃) - ストリーミング展開に対応しているか、それとも一度ディスクに全体を書き出す必要があるか
よくある質問(FAQ)
- このファイルは無料で使えますか?
- はい、完全無料・登録不要でダウンロードできます。商用・非商用を問わずテスト・検証目的でご自由にお使いください。
- ファイルの中身は何ですか?
- テスト目的で生成されたダミーデータです。指定サイズちょうどになるよう調整されています。
- ハッシュ値は何に使えますか?
- ダウンロードしたファイルが正しいか検証したり、ハッシュ計算ライブラリのテストデータとして使えます。