Войти

Показать полную графическую версию : [решено] Энтропия файла


Гульф
12-06-2021, 22:48
Есть ли быстрый способ вычисления энтропии файла в PowerShell? Может есть какие-то модули? Найденный мной скрипт (https://github.com/mattifestation/PowerShellArsenal/blob/master/Misc/Get-Entropy.ps1) работает очень медленно на файлах более мегабайта-полтора.

greg zakharov
12-06-2021, 23:22
Речь о Core или столбовом, тот что версии 5 и ниже? В первом случае:
Install-Module pstools
Get-Entrory ([IO.File]::ReadAllBytes('C:\test\file.bin'))
Во втором - из-за различного рода ограничений, придётся писать код на C#.

Iska
13-06-2021, 05:18
…очень медленно на файлах более мегабайта-полтора. »
20 Mb — у меня ~7 секунд, 50 Mb — ~23 секунды.

DJ Mogarych
13-06-2021, 08:35
https://github.com/TonyPhipps/Powershell/blob/master/Get-Entropy.psm1

Iska
13-06-2021, 17:01
DJ Mogarych, этот код у меня исполняется более, чем на порядок медленнее.

Гульф
13-06-2021, 19:32
https://github.com/TonyPhipps/Powers...t-Entropy.psm1Те же яйца, только в профиль.
20 Mb — у меня ~7 секунд, 50 Mb — ~23 секунды.А что у вас за процессор? У меня всего лишь двуядерный лэптоп. И как я уже говорил, на 6 с половиной мегабайтах указанный мной сценарий работает, мягко говоря, не очень. Плюс память утекает ощутимо.

greg zakharov, отличный показатель! Файл размером 683 Мб обрабатывает менее чем за пару секунд. Огорчает разве что не работает в PS 5 и ниже. Но не критично. Спасибо!

Iska
13-06-2021, 22:06
А что у вас за процессор? »
Старенький i3-4160, rev.C0, 3.6 GHz. Два ядра, четыре потока (HT).

Гульф
21-06-2021, 16:51
Iska, у меня немногим новее вашего процессор.




© OSzone.net 2001-2012