Checksum là chuỗi ký tự dẫn xuất từ phần mềm dùng hàm băm. Không hai checksum nào giống nhau. Khi tải phần mềm từ Internet, một cách xác minh tính toàn vẹn là so sánh checksum của nó với cái trang web cung cấp. Nếu khớp, phần mềm là nguyên bản và không bị can thiệp. Ở đây chúng tôi sẽ chỉ cách kiểm tra và xác minh checksum trong Linux.
Mặc dù dễ làm trong terminal, bạn sẽ học ở đây cách kiểm tra và xác minh checksum với công cụ đồ họa: GtkHash siêu đơn giản.
Cài đặt
Đối với hầu hết bản phân phối Linux, bạn tìm GtkHash trong trình quản lý gói hoặc Trung tâm phần mềm. Nếu bạn trên Ubuntu hoặc bản phân phối tương thích và cài từ terminal, bạn có thể cài GtkHash với:
sudo apt install gtkhash
Cho openSUSE, bạn phải thêm kho trước khi cài. Tìm thêm thông tin ở đây.
Trên Arch và Manjaro:
sudo pacman -S gtkhash
Sau khi cài, tìm nó trong ứng dụng đã cài và chạy.
Tạo Hash
Giao diện GtkHash khá trực quan. Để tính hash cho một hoặc nhiều tệp, nhấp nút "Thêm" thân thiện ở góc trên trái.
Trỏ hộp thoại đến vị trí tệp và chọn chúng. Bạn có thể chọn nhiều tệp bằng cách giữ Ctrl khi nhấp. Sau đó, nhấp nút "Mở" ở góc trên phải để hoàn tất.
Danh sách GtkHash sẽ được điền bởi tệp bạn chọn. Nếu muốn, bạn có thể thêm tệp bằng cách lặp bước trước.
Nhấp nút "Hash" ở góc dưới phải cửa sổ GtkHash để tính hash cho tất cả tệp trong danh sách.
GtkHash tính nhiều loại hash mặc định và trình bày chúng trong cột bên cạnh mỗi tệp.
Để sao chép hash của tệp vào clipboard, nhấp chuột phải vào tệp và chọn loại hash ưa thích từ menu con "Sao chép Digest". Sau đó, dán hash đã sao chép đâu đó để tham khảo sau.
Hoặc, bạn có thể lưu hash vào tệp qua "File -> Save As".
Kiểm tra Hash
Để kiểm tra tính toàn vẹn dữ liệu tệp với GtkHash, chọn "File -> Mở" và chọn tệp hash đi kèm tệp chính. Tệp hash thường có phần mở rộng "sha1", "md5", hoặc "sfv", và GtkHash hỗ trợ tất cả phổ biến.
Khi tệp tải, nhấp nút "Hash" ở góc dưới phải. GtkHash sẽ tính và so sánh hash tệp với cái báo cáo và trình bày kết quả. Như bạn thấy trong ảnh chụp, chúng tôi có 2 khớp và 2 thất bại.
Nhiều Hash hơn
GtkHash đi kèm các thuật toán băm phổ biến nhất được bật, nhưng không phải là những thứ duy nhất nó hỗ trợ. Để thêm, vào "Edit -> Preferences".
Bạn có thể chọn từ hơn hai chục hàm băm khác nhau, trong đó bạn có thể tìm cái bạn thích.
So sánh Checksum từ Terminal
Nếu bạn ở môi trường máy chủ, cách duy nhất so sánh checksum là qua terminal. May mắn thay, kiểm tra và tạo hash tệp trên terminal cũng dễ như dùng GUI. Hầu hết bản phân phối đi kèm bộ công cụ cho việc. Một số phổ biến nhất:
- md5sum
- shasum
- sha256sum
- sha384sum
- sha512sum
Cách dùng đơn giản vì chúng hoạt động chính xác cùng cách: gõ tên lệnh, rồi tên tệp bạn muốn tính hash. Ví dụ, để tính hash SHA-512 cho ISO cài Arch Linux đã tải, chúng tôi dùng:
sha512sum archlinux-2020.05.01-x86_64.iso
Trong trên, sha512sum là lệnh cho thuật toán băm chúng tôi quyết định dùng. Sau chờ đợi, chúng tôi thấy hash SHA-512 trên màn hình.
Tương lai có thể muốn kiểm tra lại tệp, nên quyết định xuất kết quả ra tệp thay vì màn hình. Lệnh hash không cung cấp chức năng đó vì chỉ cần chuyển hướng trong Linux. Bằng cách dùng ký tự > sau lệnh và tên tệp, đầu ra lệnh lưu trong tệp thay vì in màn hình. Bạn cũng có thể dùng sha256sum:
sha256sum archlinux-2020.05.01-x86_64.iso > archlinux-2020.05.01-x86_64.iso.sha256
Điều này xuất kết quả ra tệp văn bản điển hình bạn có thể kiểm tra. Trong đó, bạn tìm hash tệp theo sau tên tệp.
Kiểm tra tệp đối chiếu hash chỉ yêu cầu thêm công tắc -c vào lệnh và dùng tệp hash thay vì tệp thực. Nói cách khác, thứ như:
sha256sum -c archlinux-2020.05.01-x86_64.iso.sha256
Mặc dù dễ xác minh checksum trong Linux, nhưng không thực tế kiểm tra hash cho mọi tệp. Đó là thứ bạn nên làm cho dữ liệu nhạy cảm hoặc ISO Linux tải từ Web. Nếu bạn dùng Mac, phương pháp tương tự áp dụng.