Mengapa versi file gzip menghasilkan checksum md5 yang berbeda

28

Saya memiliki empat file yang saya buat menggunakan svndump

test.svn 
test2.svn 
test.svn.gz  
test2.svn.gz

sekarang ketika saya menjalankan ini

md5sum test2.svn test.svn test.svn.gz test2.svn.gz

Ini outputnya

89fc1d097345b0255825286d9b4d64c3  test2.svn
89fc1d097345b0255825286d9b4d64c3  test.svn
8284ebb8b4f860fbb3e03e63168b9c9e  test.svn.gz
ab9411efcb74a466ea8e6faea5c0af9d  test2.svn.gz

Jadi saya tidak bisa mengerti mengapa gzipmengompres file secara berbeda, apakah itu meletakkan stempel waktu di suatu tempat sebelum mengompres? Saya memiliki masalah yang sama dengan mysqldumpketika menggunakan bidang tanggal di atas

siapa saya
sumber
Sialan, aku baru saja mengetahuinya, tetapi aku akan membiarkan seseorang mengacaukan poin. Tentu Anda menjawab: D
whoami

Jawaban:

32

gzipmenyimpan beberapa metadata file asli di header catatan, termasuk waktu modifikasi file dan nama file, jika tersedia. Lihat spesifikasi format file GZIP .

Jadi, diharapkan kedua gzipfile Anda tidak identik. Anda bisa menyiasatinya dengan melewati gzippara -nbendera, yang berhenti dari termasuk nama file asli dan cap di header.

Tikar
sumber
4

Setiap file .gz memiliki tajuk dengan nama file ... Coba head test.svn.gzdanhead test2.svn.gz

Jan Marek
sumber
Itu menghasilkan banyak sampah. saya tidak berpikir kepala akan bekerja dengan baik pada test.svn.gz
whoami
Pada mulanya, Anda dapat melihat nama file ...
Jan Marek
1
> kepala test2.svn.gz F u ; @ h 'N` V D ? Fo
whoami
11
head test2.svn.gz|hexdump -Ctidak akan mengacaukan terminal Anda
Mat
ohhh bagus @Mat suka belajar perintah baru
whoami