Чи є вбудований метод для обчислення хеша SHA-1 або MD5 в Windows 7? [дублікат]


38

На це питання вже є відповідь тут:

Чи є вбудований метод для обчислення хеша SHA-1 або MD5 в Windows 7?



Я б підтримав включення sha1 до назви іншого питання та закриття цього питання
Брайан Вебстер

Це питання не є дублікатом superuser.com/questions/89191/… . Це запитання задає лише інтеграцію оболонки, жодного командного рядка.
Вісбукі

Це рішення не вбудоване в Windows 7, але якщо у вас вже встановлений Git Bash (msys / mingw), він включає командний рядок md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Крістіан Лонг

Відповіді:


32

Немає вбудованої утиліти, однак Microsoft надає утиліту командного рядка як безкоштовне завантаження:

Наявність та опис утиліти File Checksum Integrity Verifier


6
Це вже не зовсім вірно. PowerShell 4 додає Get-FileHashкоманду . (Про час, чи не так?) Хоча, якщо чесно сказати, PowerShell 4 встановлюється лише в найновіших операційних системах Windows саме зараз, але оновлення надзвичайно розумне на старих ОС. (У PS4 також багато інших приємних речей.)
jpmc26

Одне головне застереження: fcivневдача для імен файлів, що містять символи unicode.
wisbucky

18

Немає вбудованих інструментів.

Я використовую розширення оболонки HashCheck :

alt текст


Це моє улюблене, тому що це розширення ядра (не знаю, якщо вони все ще використовують цю термінологію). Використовували його роками.
Девід Кауден

Будь-який спосіб отримати хеші SHA-256?
Макс

@DavidCowden: Які переваги від реалізації такої функції, як розширення ядра, порівняно з додатком, що працює виключно на просторі користувачів. Хіба це потенційно нестабільна ОС?
Ісаак

@Isaac я сумую говорив. У старих термінах Windows це розширення оболонки , а не розширення ядра. Перевага полягає в тому, що він додає інтерфейс користувача в Windows Explorer, щоб ви могли, як показує зображення, переглядати контрольні суми та хеші прямо у вікні властивостей файлу. Це досить акуратно!
Девід Кауден

11

Це не зовсім вбудований, але принаймні вам не потрібно завантажувати нове програмне забезпечення, щоб воно працювало. Ви можете створити скрипт powerhell для обчислення MD5суми файлів. Справжній сценарій можна знайти тут:

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

Скопіюйте цей текст у файл, який називається "ps-md5sum.ps1", і збережіть його десь. Коли вам потрібно обчислити хеш файлу, відкрийте PowerShell в каталозі файлу, який потрібно перевірити, і запустіть його:

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

І він повинен повернути хеш цього файлу.


Цей сценарій PS1 від Джо Прутта імітує поведінку md5 UNIX: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/…
Брайан Рейтер




4

На додаток до всіх чудових варіантів, які вже були опубліковані, є також md5deep / hashdeep , набір для обчислення хешів з відкритим кодом для Windows (але також може використовуватися в * nix та OS X системах), який підтримує:

  • MD5
  • SHA-1
  • SHA-256
  • Тигр
  • Джакузі

Деякі переваги md5deep / hashdeep:

  • Це відкритий і крос-платформний.
  • Він працює з командного рядка і може використовуватися для сценаріїв.
  • Він оптимізував двійкові файли як для 32-розрядної, так і для 64-бітної систем.
  • Він підтримує сучасні алгоритми хешування (MD5 та SHA-1 на цьому етапі розбиті для перевірки цілісності файлів та цифрових підписів, оскільки зіткнення вже можуть бути вироблені для MD5 з відносною легкістю, а зіткнення SHA-1 все більше перебувають у межах можливості ).
  • Він може рекурсивно генерувати контрольні суми для цілого каталогу.
  • Він може протестувати файл або каталог на попередньо створеному списку контрольних сум для швидкого аудиту каталогу (виявлення невідомих файлів або файлів, які були змінені).

Щоб використовувати його в Windows, ви можете встановити його в Cygwin або просто включити каталог md5deep у свою %PATH%змінну. Хоча я особисто віддаю перевагу такій настройці:

  1. Витягніть десь усі файли, наприклад,

    %ProgramFiles%\md5deep

  2. Створіть набір пакетних файлів у своєму каталогу Windows, наприклад

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

  3. Додайте шлях до відповідних бінарних файлів, наприклад

    У md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(64-бітні системи)
    "%ProgramFiles%\md5deep\md5deep.exe" %*(32-бітні системи)

    У hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(64-бітні системи)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*(32-бітні системи)
    ...

Або якщо ви хочете автоматично перемикатися між 32-бітними та 64-бітовими бінарними файлами для WoW64, ви можете помістити 32-бітні бінарні файли у %ProgramFiles(x86)%та 64-бітні %ProgramW6432%, а потім записати такі пакетні файли:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.