Nhận băm tệp bằng Windows PowerShell

Bắt băm tập tin có thể khá hữu ích. Ví dụ, điều này có thể được sử dụng để đảm bảo rằng các tệp được sao lưu không bị hỏng hoặc bị sửa đổi (bằng cách tạo băm trước và sau quá trình) hoặc để đảm bảo rằng không ai can thiệp vào một tệp quan trọng.

Bạn có thể thấy nó trên các trang web tải xuống, nhưng việc sử dụng có hạn chế. Lý do rất đơn giản: nếu kẻ tấn công quản lý để thay đổi tệp tải xuống, có khả năng trang web cũng bị xâm phạm. Về mặt lý thuyết, điều này ít nhất có nghĩa là hàm băm hiển thị trên trang web cũng được sửa đổi để phù hợp với phiên bản độc hại mới của bản tải xuống.

Chúng tôi đã xem xét một số lượng đáng kể các chương trình băm liên quan trong quá khứ: từ tiện ích mở rộng shell Windows HashTab, qua HashMyFiles của Nirsoft đến Kiểm tra tệp MD5 và MD5 Check Utility.

Nhận băm tệp bằng Windows PowerShell

Nếu bạn cần nhanh chóng tạo tệp băm của tệp trên máy Windows, thì bạn cũng có thể sử dụng PowerShell cho việc đó.

Nó có thể không thoải mái như một số chương trình băm ngoài kia, nhưng đó là một triển khai riêng không yêu cầu phần mềm của bên thứ ba để hoạt động. Chẳng hạn, hữu ích trong các môi trường bị hạn chế hoặc khi không có kết nối Internet để tải xuống các chương trình này.

Tạo băm được tích hợp vào PowerShell 4.0. Nó được bao gồm trong Windows 8.1 và Windows Server 2012 R2 và cũng có sẵn cho Windows 7 Service Pack 1, Windows Server 2012 và Windows Server 2008 R2 Gói dịch vụ 1.

  1. Chạm vào phím Windows, nhập PowerShell và nhấn phím Enter để khởi động nó.

Lệnh chính là get-filehash FILEPATH, ví dụ: get-filehash c: \ test.txt .

Theo mặc định, Get-FileHash sử dụng thuật toán Sha256. Bạn có thể chỉ định một thuật toán khác thay vì sử dụng tham số -Alacticm.

Được hỗ trợ là: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Lưu ý rằng MD5 và SHA1 không được coi là an toàn nữa nhưng vẫn được hỗ trợ.

Vì vậy, để tạo hàm băm Sha512, bạn sẽ sử dụng lệnh get-filehash -Alacticm Sha512 c: \ test.txt.

Bạn cũng có thể sử dụng -LiteralPath hoặc -InputStream thay vì tùy chọn đường dẫn mặc định.

  • LiteralPath: get-filehash -LiteralPath-Thuật toán SHA512 c: \ test.txt.
  • InputStream get-filehash -InputStream -Alacticm SHA512 Stream.

Sự khác biệt cốt lõi giữa đường dẫn và đường dẫn chữ là đường dẫn không hỗ trợ ký tự đại diện và được sử dụng chính xác như được gõ.

Giấy chứng nhận

CertUtil là một chương trình Windows gốc khác mà bạn có thể sử dụng để tính băm các tệp. Bạn có thể chạy chương trình từ dấu nhắc lệnh hoặc sử dụng PowerShell.

Lệnh cơ sở là certutil -hashfile PATH, ví dụ certutil -hashfile c: \ example.txt .

Bạn có thể chỉ định thuật toán băm là tốt. Được hỗ trợ là MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Thuật toán mặc định là MD5.

Để sử dụng thuật toán băm khác, chỉ định nó sau lệnh, ví dụ certutil -hashfile c: \ example.txt SHA512 .

Từ kết thúc

Bạn có thể sử dụng các lệnh trong tập lệnh để tính băm cho một số tệp trong một thao tác. Hai công cụ gốc get-filehash và certutil khá tiện dụng cho việc tính toán nhanh các giá trị băm trên Windows và cũng để sử dụng tập lệnh. (thông qua Genbeta (tiếng Tây Ban Nha))