Статья рассказывает концепцию алгоритма вычисления контрольной суммы (хеширования).
Алгоритмы нахождения контрольной суммы данных (объекта) предназначены для того, чтобы дать данным более короткое представление для их сопоставления. При этом сопоставлении происходит потеря количества информации и возможны коллизии. Колизия — это, когда два и более разных объекта имеют одно значение котрольной суммы (хеша).
Для избежания воздействия коллизий при нахождении определённого элемента в коллекции его можно искать по хешу, но при этом поиске возможно найти два и более одинаковых объекта. Уже найденные объекты с одинаковой контрольной суммой можно сравнивать на эквивалентность.
В данном разделе приведён пример алгоритма нахождения контрольной суммы для строки текста. Но не забывайте, что алгоритм нахождения контрольной суммы в основном находится для бинарных данных или просто больших данных.
Алгоритм основан на том, что:
Далее приводится реализация этого алгоритма на языках программирования C# и Java.
Пример алгоритмы получения контрольной суммы на C#:
Пример алгоритмы получения контрольной суммы на Java:
В заключение могу вам пожелать написание своих методов для вычисления контрольной суммы, как собственных алгоритмов, так и стандартов. Не забывайте развиваться!