CRC32 не слишком труден для реализации на любом языке, это достаточно хорошо для обнаружения простого повреждения данных и когда implemted хорошим способом, это очень быстро. Однако можно также попробовать Adler32, который почти одинаково хорош как CRC32, но еще легче реализовать (и об одинаково быстром).
образец реализации CRC32 JavaScript
Или этих двух (или возможно даже обоих) доступны в Java прямо из поля.
реализация JavaScript MD4, MD5 и SHA1. Лицензия BSD.
Знают, что и TCP и UDP (и IP и Ethernet, и...) уже обеспечивают защиту контрольной суммы к данным в пути?
, Если Вы не делаете что-то действительно странное, если Вы видите повреждение, что-то очень неправильно. Я предлагаю запуститься с тестер памяти .
кроме того, Вы получаете сильную защиту целостности данных при использовании SSL/TLS.
Используйте реализация SHA-1 JS . Это не столь медленно, как Вы думаете (Firefox 3.0 на Core 2 Duo, 2.4 ГГц долго обсуждают 100 КБ в секунду).
[ОБНОВЛЯЮТ 30.05.2013: ссылка на старую реализацию JS CRC32 умерла, таким образом, я теперь связался с другим.]
Google CRC32: быстро, и намного более легкий вес, чем MD5 и др. существует реализация JavaScript здесь .
Другие люди уже упомянули CRC32, но вот ссылка на реализация W3C CRC-32 для PNG как один из нескольких известных, уважаемых сайтов со ссылочной реализацией CRC.
(Несколько лет назад я пытался найти известный сайт с алгоритмом CRC или по крайней мере одним, который процитировал источник для его алгоритма, & почти отрывал мои волосы, пока я не нашел страницу PNG.)