Подтвердить что ты не робот

Windows эквивалент команды linux cksum

Я ищу способ вычислить кросс-платформу crc-контрольной суммы.

cksum работает в Linux, AIX, HP-UX Itanium, Solaris, есть ли эквивалентная команда linux cksum в Windows?

%cksum run.sh
1491301976 652 run.sh

Примечание: нет стороннего инструмента

4b9b3361

Ответ 1

В Windows (командная строка) вы можете использовать CertUtil, вот синтаксис:

CertUtil [Options] -hashfile InFile [HashAlgorithm]

для типа описания синтаксиса в cmd:

CertUtil -hashfile -?

Пример:

CertUtil -hashfile C:\myFile.txt MD5

по умолчанию SHA1 поддерживает: MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. К сожалению, CRC32 не является оболочкой Unix.

Вот ссылка, если вы хотите узнать больше https://technet.microsoft.com/en-us/library/cc732443.aspx#BKMK_menu

Ответ 2

Похоже, есть неподдерживаемый инструмент для контрольных сумм из MS. Он освещает функции, но, похоже, делает то, о чем вы просите. Он был опубликован в августе 2012 года. Он называется "Контроллер целостности файлов Microsoft Checksum".

http://www.microsoft.com/en-us/download/details.aspx?id=11533

Ответ 3

Я никогда не видел способа сделать это, не используя стороннее программное обеспечение. С древних времен вы могли бы использовать такие вещи, как: http://www.etree.org/md5com.html (теперь очень устарели)

Или в наше время я рекомендовал бы установить оболочку вроде http://www.cygwin.com/, которая эмулирует, как и Linux.

Если вы не можете использовать какое-либо программное обеспечение сторонних разработчиков, то лучше всего отправить почту на Microsoft и попросить их реализовать ее в W8:)

Удачи!

Ответ 4

Чтобы избежать раздражающих строк без контрольной суммы: CertUtil -v -hashfile "your_file" SHA1 | НАЙТИ /V "CertUtil" Это будет отображать только строки, не содержащие CertUtil

Ответ 5

Вот реализация С# утилиты командной строки * nix cksum для windows https://cksum.codeplex.com/

Ответ 6

В комбинации ответов @Cassian и @Hllitec и с fooobar.com/info/12317802/... здесь мое решение, где я помещаю (только!) Значение контрольной суммы в переменную для дальнейшей обработки:

for /f "delims=" %i in ('certutil -v -hashfile myPackage.nupkg SHA256 ^| find /i /v "sha256" ^| find /i /v "certutil"') do set myVar=%i

Чтобы проверить вывод, вы можете добавить команду piped echo с помощью var:

for /f "delims=" %i in ('certutil -v -hashfile myPackage.nupkg SHA256 ^| find /i /v "sha256" ^| find /i /v "certutil"') do set myVar=%i | echo %myVar%

Немного не по теме, но к вашему сведению: я использовал это перед загрузкой своего пакета NuGet в Artifactory. КСТАТИ. в качестве альтернативы вы можете использовать JFrog CLI, где контрольная сумма рассчитывается автоматически.