Я проверяю хэши файлов, используя несколько различных алгоритмов в powershell. Когда я использую MacTripleDes, я всегда получаю разные хэши. Все остальные, такие как SHA256 или MD5, всегда дают надежные ответы. Вы можете повторить проблему на своем компьютере:
"this is a test" | out-file test.txt
get-filehash test.txt -algorithm sha256
get-filehash test.txt -algorithm sha256
get-filehash test.txt -algorithm mactripledes
get-filehash test.txt -algorithm mactripledes
Я получаю одинаковые значения хэша для первых двух хэшей, но разные значения для вторых двух хэшей. MacTripleDes должен использоваться по-другому?
Algorithm Hash Path
--------- ---- ----
SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt
SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt
MACTRIPLEDES 904D74A529C7A739 C:\temp\test.txt
MACTRIPLEDES AF720778A2C878A2 C:\temp\test.txt
powershell
hash
user6722022
источник
источник
Get-FileHash
Командлет не появляется , чтобы поддержать ключевой параметр.Ответы:
MACTripleDES отличается от других алгоритмов, предлагаемых
Get-FileHash
командлетом. Я не уверен, почему он был включен в командлет, если честно. Это не соответствует другим, ИМО.SHA1, SHA256, MD5, RIPEMD и т. Д., Все это обычные хеш-функции. Они берут некоторые данные произвольной длины и создают дайджест фиксированной длины, который представляет эти данные. MACTripleDES отличается тем, что это не просто алгоритм хеширования. У него есть TripleDES в названии, а 3DES - это алгоритм шифрования, а не алгоритм хеширования. Самое большое различие между хэш-функциями и функциями шифрования заключается в том, что шифрование можно изменить ключом. Хеши являются односторонними функциями.
А MAC обозначает код аутентификации сообщения. Это код, который используется для аутентификации сообщения. Чтобы убедиться, что это не было подделано. MAC разработаны, чтобы быть эфемерными или уникальными от одного сообщения до следующего.
Проверьте конструктор :
StaticRandomNumberGenerator генерирует случайные числа ... случайные числа означают, что результат будет отличаться при каждом запуске.
источник
KeyedHashAlgorithm
объекта. Но и с этим ничего нельзя поделатьGet-FileHash
...Get-FileHash
не позволяет вам указать ключ для использования, и вместо этого генерирует случайный ключ, который он никогда не предоставляет пользователю, то это действительно ошибка (согласно оригинальному названию вопроса), которую вы не можете использовать на самом деле это ни для чего. (Не то, чтобы я понимал, почему вы бы выбрали MACTripleDES в первую очередь, если бы вы хотели MAC.)Get-FileHash
должна быть какой-то формой извилистого ГСЧ?