Sprawdzam skróty plików za pomocą kilku różnych algorytmów w PowerShell. Kiedy używam MacTripleDes, zawsze otrzymuję różne skróty. Wszystkie pozostałe, takie jak SHA256 lub MD5, zawsze dają wiarygodne odpowiedzi. Możesz być w stanie replikować problem na własnym komputerze:
"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
Otrzymuję te same wartości skrótu dla pierwszych dwóch skrótów, ale różne wartości dla dwóch pozostałych skrótów. Czy MacTripleDes powinien być używany inaczej?
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
użytkownik6722022
źródło
źródło
Get-FileHash
cmdlet nie obsługuje kluczowego parametru.Odpowiedzi:
MACTripleDES różni się od innych algorytmów oferowanych przez
Get-FileHash
cmdlet. Szczerze mówiąc, nie jestem pewien, dlaczego został zawarty w poleceniu cmdlet. Nie pasuje do innych, IMO.SHA1, SHA256, MD5, RIPEMD itp. Są to wszystkie zwykłe funkcje mieszające. Pobierają niektóre dane o dowolnej długości i tworzą zestaw o stałej długości, który reprezentuje te dane. MACTripleDES jest jednak inny, ponieważ nie jest to tylko algorytm mieszający. Ma w nazwie TripleDES, a 3DES jest algorytmem szyfrującym, a nie algorytmem mieszającym. Największa różnica między funkcjami skrótu a funkcjami szyfrowania polega na tym, że szyfrowanie można odwrócić za pomocą klucza. Hashe to funkcje jednokierunkowe.
A MAC oznacza kod uwierzytelnienia wiadomości. Jest to kod służący do uwierzytelnienia wiadomości. Aby sprawdzić, czy nie zostało zmienione. MAC są zaprojektowane tak, aby były efemeryczne lub unikalne w zależności od wiadomości.
Sprawdź konstruktora :
StaticRandomNumberGenerator generuje liczby losowe ... liczby losowe oznaczają, że wynik będzie inny przy każdym uruchomieniu.
źródło
KeyedHashAlgorithm
obiektu. Ale nie ma też nic wspólnego zGet-FileHash
...Get-FileHash
nie pozwala ci określić klucza do użycia i zamiast tego generuje losowy klucz, którego nigdy nie ujawnia użytkownikowi, wydaje się, że jest to błąd (jak w oryginalnym tytule pytania), ponieważ nie możesz go użyć to na wszystko. (Nie to, że rozumiem, dlaczego miałbyś wybrać MACTripleDES w pierwszej kolejności, jeśli chcesz MAC.)Get-FileHash
powinna być jakąś formą zawiłego RNG?