Một cách đơn giản hơn để so sánh tổng kiểm tra md5?


11

Sau khi tải xuống một tệp có sẵn tổng kiểm tra md5, tôi hiện đang kiểm tra nó với

md5 *file* | grep *given_checksum*

ví dụ

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2

nhưng nó có vẻ buồn cười đối với tôi khi yêu cầu grep và đường ống cho những gì chắc chắn là một nhiệm vụ rất phổ biến. Một stickler để làm việc hiệu quả, tôi tự hỏi có cách nào tốt hơn để làm điều này?


Đó là loại công cụ md5gì? Nó đến từ gói nào?
manatwork

Tôi không nhận ra nó có gì khác biệt cho đến khi tôi thực sự hỏi câu hỏi này và bắt đầu xem xét câu trả lời, nhưng tôi đang sử dụng bash trên OS X và đó là công cụ riêng của Apple không có tùy chọn -c. Rõ ràng là họ đã dừng gói md5sum trong 10.5 ... Bây giờ tôi đã cài đặt công cụ unix md5sum ban đầu.
Ben Griffiths

Câu trả lời:


20

md5sumcó một -ctùy chọn để kiểm tra một tập hợp các khoản tiền hiện có và trạng thái thoát của nó cho biết thành công / thất bại.

Thí dụ:

$ echo "ff9f75d4e7bda792fca1f30fc03a5303  package.deb" | md5sum -c -
package.deb: OK

Tìm một nguồn tài nguyên tốt ở đây


4
Cảm ơn. Chỉ cần hoàn thành, bây giờ tôi sử dụng md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"có vẻ sạch hơn liên quan đến grep!
Ben Griffiths

hmm, không cải thiện nhiều cho tập tin $ md5 ban đầu | grep give_checksum và nếu bạn muốn sử dụng chuỗi không phân biệt chữ hoa chữ thường, bạn phải gắn bó với grep -i
StandardNerd

Tôi đã nhận được no properly formatted MD5 checksum lines foundkhi tôi đang sử dụng md5sum -c <file.md5> <file>nhưng lệnh này đã làm việc cho tôi.
Vishrant

1

Cách bash thông thường sẽ là:

shopt -s nocasematch
if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]]

1
md5sum -c <filename>.zip.md5 <filename>.zip

Điều này sẽ cho bạn biết Ok nếu chúng giống nhau.

Điều này làm việc với tar là tốt.


0

Lấy cảm hứng từ câu trả lời của psusi

echo "$(cut -f1 -d' ' your_file.jar.md5) your_file.jar" | md5sum -c -

Tôi đã sử dụng cutnhư không phải tất cả md5được lưu trữ theo cùng một cách. Thí dụ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.