Có phương pháp tích hợp nào để tính toán hàm băm SHA-1 hoặc MD5 trong Windows 7 không? [bản sao]


37

Câu hỏi này đã có câu trả lời ở đây:

Có phương pháp tích hợp nào để tính toán hàm băm SHA-1 hoặc MD5 trong Windows 7 không?



Tôi muốn hỗ trợ kết hợp sha1 vào tiêu đề của câu hỏi khác và kết thúc câu hỏi này
Brian Webster

Câu hỏi này không phải là một bản sao của superuser.com/questions/89191/ . Câu hỏi đó chỉ yêu cầu tích hợp shell, không có dòng lệnh.
wisbucky

Giải pháp này không được tích hợp chính xác cho Windows 7, nhưng nếu bạn đã cài đặt Git Bash (msys / mingw), nó bao gồm dòng lệnh md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Long

Câu trả lời:


31

Không có tiện ích tích hợp, tuy nhiên Microsoft cung cấp tiện ích dòng lệnh dưới dạng tải xuống miễn phí:

Tính khả dụng và mô tả của tiện ích Trình kiểm tra tính toàn vẹn tệp


5
Điều này không còn đúng nữa. PowerShell 4 thêm Get-FileHash chỉ huy . (Về thời gian, phải không?) Mặc dù, công bằng mà nói, PowerShell 4 chỉ được cài đặt trong các hệ điều hành Windows mới nhất hiện nay, nhưng việc nâng cấp là cực kỳ hợp lý trên các HĐH cũ. (PS4 cũng có RẤT NHIỀU thứ hay ho khác.)
jpmc26

Một cảnh báo chính: fciv thất bại cho tên tệp chứa ký tự unicode.
wisbucky

18

Không có công cụ tích hợp.

tôi sử dụng HashCheck mở rộng vỏ:

alt text


Đây là sở thích của tôi vì nó là một phần mở rộng kernel (dunno nếu họ vẫn sử dụng thuật ngữ đó). Đã sử dụng nó vài năm.
David Cowden

Bất kỳ cách nào để có được băm SHA-256 với điều này?
Max

@DavidCowden: Lợi ích của việc triển khai tính năng như phần mở rộng kernel là gì so với một ứng dụng chỉ hoạt động trên không gian người dùng. Điều đó có khả năng không ổn định hệ điều hành?
Isaac

@Isaac Tôi nhớ nói. Trong các thuật ngữ Windows cũ, nó là một vỏ mở rộng, không mở rộng kernel. Lợi ích là nó thêm ui ngay vào windows explorer để bạn có thể, như hình ảnh hiển thị, xem tổng kiểm tra và băm ngay trong cửa sổ thuộc tính của tệp. Nó khá gọn gàng!
David Cowden

11

Nó không được tích hợp chính xác, nhưng ít nhất bạn không phải tải xuống bất kỳ phần mềm mới nào để làm cho nó hoạt động. Bạn có thể tạo tập lệnh powershell để tính toán MD5sum của các tệp. Kịch bản thực tế có thể được tìm thấy ở đây:

http://www.ahmadsoft.org/powershelljunkie/index.html

Sao chép văn bản đó vào một tệp gọi là "ps-md5sum.ps1" và lưu nó ở đâu đó. Khi bạn cần tính toán hàm băm của một tệp, hãy mở PowerShell trong thư mục của tệp bạn cần kiểm tra, rồi chạy nó:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

Và nó sẽ trả về hàm băm của tập tin đó.


Kịch bản PS1 này của Joe Pruitt mô phỏng hành vi md5 UNIX: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/ cường
Brian Reiter




4

Ngoài tất cả các tùy chọn tuyệt vời đã được đăng, còn có md5deep / hashdeep , bộ tính toán băm mã nguồn mở cho Windows (nhưng cũng có thể được sử dụng trong các hệ thống * nix và OS X) hỗ trợ:

  • MD5
  • SHA-1
  • SHA-256
  • con hổ
  • Xoáy nước

Một số ưu điểm của md5deep / hashdeep:

  • Đó là mã nguồn mở và đa nền tảng.
  • Nó chạy từ dòng lệnh và có thể được sử dụng để viết kịch bản.
  • Nó đã tối ưu hóa nhị phân cho cả hệ thống 32 bit và 64 bit.
  • Nó hỗ trợ các thuật toán băm hiện đại (MD5 và SHA-1 đều bị hỏng tại thời điểm này để xác minh tính toàn vẹn của tệp và chữ ký số vì các va chạm có thể đã được tạo cho MD5 một cách dễ dàng và các va chạm SHA-1 là ngày càng tăng trong khả năng ).
  • Nó có thể tạo đệ quy tổng kiểm tra cho toàn bộ thư mục.
  • Nó có thể kiểm tra một tệp hoặc thư mục dựa trên danh sách tổng kiểm tra được tạo trước đó để thực hiện kiểm tra nhanh thư mục (xác định các tệp hoặc tệp không xác định đã bị thay đổi).

Để sử dụng nó trong Windows, bạn có thể cài đặt nó trong Cygwin hoặc bạn chỉ có thể bao gồm thư mục md5deep trong %PATH% biến. Mặc dù cá nhân tôi thích các thiết lập sau:

  1. Trích xuất tất cả các tệp ở đâu đó, ví dụ:

    %ProgramFiles%\md5deep

  2. Tạo một tập hợp các tệp bó trong thư mục windows của bạn, ví dụ:

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. Bao gồm đường dẫn đến các nhị phân thích hợp, ví dụ:

    Trong md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %* (Hệ thống 64 bit)
    "%ProgramFiles%\md5deep\md5deep.exe" %* (Hệ thống 32 bit)

    Trong hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %* (Hệ thống 64 bit)
    "%ProgramFiles%\md5deep\hashdeep.exe" %* (Hệ thống 32 bit)
    ...

Hoặc nếu bạn muốn tự động chuyển đổi giữa các nhị phân 32 bit và 64 bit cho WoW64, bạn có thể đặt các nhị phân 32 bit vào %ProgramFiles(x86)% và những cái 64 bit trong %ProgramW6432%và sau đó viết các tệp bó của bạn như thế này:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
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.