Każda mniejsza wartość jest także możliwa.
Zalety i wady Zarówno w przypadku CRC-32, jak i Adler-32 można z łatwością zmodyfikować dane tak, aby otrzymać taką samą sumę kontrolną jak w przypadku oryginalnych danych w związku z czym algorytmy te nie są dobrym zabezpieczeniem przeciw celowym próbom sfałszowania danych. Algorytm Adler-32 można obliczać programowo szybciej niż CRC-32. Ze względu na nieoptymalne wykorzystanie dostępnych 32 bitów suma Adler-32 nie jest dobrym rozwiązaniem dla krótkich paczek danych (rzędu kilkuset bajtów).
Krótkie paczki danych W przypadku krótkich paczek danych sumy cząstkowe nie osiągają magicznej wartości 65521. Na przykład dla paczki 128 bajtów maksymalna wartość sumy cząstkowej A wynosi 32640 i nie jest na niej przeprowadzana operacja modulo. Słabość tę odkrył w 2001 roku Jonathan Stone i opisał ją: „W skrócie, dla krótkich paczek danych Adler-32 nie gwarantuje optymalnego wykorzystania dostępnych bitów. Nie wierzcie mi na słowo, zapytajcie Marka Adlera. :-)”. Dokładny opis problemu można znaleźć w specyfikacji RFC 3309, która wymaga używania CRC-32 dla SCTP -- Stream Control Transmission Protocol.
Zobacz też suma kontrolna funkcja skrótu
Linki zewnętrzne – specyfikacja, zawiera przykładową implementację w języku C
Kategoria:Funkcje skrótu