Jaka jest maksymalna długość ciągu, który może zhaszować md5? Lub: Jeśli nie ma ograniczeń, a jeśli tak, to jaka będzie maksymalna długość wartości wyjściowej md5?
Jaka jest maksymalna długość ciągu, który może zhaszować md5? Lub: Jeśli nie ma ograniczeń, a jeśli tak, to jaka będzie maksymalna długość wartości wyjściowej md5?
Odpowiedzi:
MD5 przetwarza wiadomość o dowolnej długości na 128-bitowe wyjście o stałej długości, zazwyczaj reprezentowane jako sekwencja 32 cyfr szesnastkowych.
128 bits
= 16 bytes
=32 hex digits
Dołącz długość
64-bitowa reprezentacja b (długość komunikatu przed dodaniem bitów wypełniających) jest dołączana do wyniku poprzedniego kroku. W mało prawdopodobnym przypadku, gdy b jest większe niż 2 ^ 64, wówczas używane są tylko najniższe 64 bity b.
Zobacz więcej tutaj .
MD5("how many characters exactly?");
Możesz mieć dowolną długość, ale oczywiście może wystąpić problem z pamięcią na komputerze, jeśli wejście String jest zbyt długie. Dane wyjściowe mają zawsze 32 znaki.
block
bajty wejścia.
Algorytm został zaprojektowany do obsługi dowolnej długości wejściowej. Oznacza to, że możesz obliczyć skróty dużych plików, takich jak ISO płyty DVD ...
Jeśli istnieje ograniczenie dotyczące danych wejściowych, może ono pochodzić ze środowiska, w którym używana jest funkcja skrótu. Powiedzmy, że chcesz obliczyć plik, a środowisko ma limit MAX_FILE.
Ale ciąg wyjściowy będzie zawsze taki sam: 32 znaki szesnastkowe (128 bitów)!
128-bitowy skrót MD5 jest reprezentowany jako sekwencja 32 cyfr szesnastkowych.
Możesz chcieć użyć SHA-1 zamiast MD5 , ponieważ MD5 jest uważane za uszkodzone.
Więcej informacji na temat luk w zabezpieczeniach MD5 można znaleźć w tym artykule w Wikipedii .
Nie ma ograniczeń co do danych wejściowych md5, o których wiem. Niektóre implementacje wymagają załadowania całego wejścia do pamięci przed przekazaniem go do funkcji md5 (tj. Implementacja działa na bloku pamięci, a nie na strumieniu), ale nie jest to ograniczenie samego algorytmu. Wyjście ma zawsze 128 bitów. Zauważ, że md5 nie jest algorytmem szyfrowania, ale kryptograficznym hashem. Oznacza to, że możesz go użyć do zweryfikowania integralności fragmentu danych, ale nie możesz odwrócić skrótu. Zauważ również, że md5 jest uważany za uszkodzony, więc nie powinieneś go używać do niczego związanego z bezpieczeństwem (nadal można sprawdzić integralność pobranych plików itp.).