Windows эквивалент команды linux cksum
Я ищу способ вычислить кросс-платформу crc-контрольной суммы.
cksum
работает в Linux, AIX, HP-UX Itanium, Solaris, есть ли эквивалентная команда linux cksum
в Windows?
%cksum run.sh
1491301976 652 run.sh
Примечание: нет стороннего инструмента
Ответы
Ответ 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, где контрольная сумма рассчитывается автоматически.