azsx писал(а):Вот что это значит? Гарантирует только оригинал, ну сжатие без потерь. Все остальные алгоритмы вычисления хеша ничего не гарантируют. Что Вам гарантирует sha512?
не путайте хеширование с остальными вещами (шифрация,сжатием и т.п.)
shaХ, MD5, crc32 - все они вам дадут тест на уникальность данных.
В задачи нужно соблюсти баланс - между размером БД и данными на единицу ресурса. Предпочтительно sha256, но там 64байт, MD5 - 8байт.. crc32 - 4 байт..
4 байт легче в работе, в поиске. больше операций за 1 ресурс уйдет в shaХ.
Добавлено спустя 2 минуты 33 секунды:azsx писал(а):Но допустим мне была бы необходима "защищённость".
защищенность в хешах не ищите.. они дают только тест на уникальность данных..
Да, можно пароли закрыть ими, но обратное открытие ими не предусмотрено.
Добавлено спустя 13 минут 3 секунды:azsx писал(а):это именно проверка на уникальность. Да включить второй и более алгоритма вычисления хеша (например, md5 и sha-1 считать) -- это круто. Но зачем?
https://ru.wikipedia.org/wiki/%D0%A6%D0 ... 0%BE%D0%B4Существующие стандарты CRC-128 (IEEE) и CRC-256 (IEEE) в настоящее время вытеснены криптографическими хеш-функциями.
т.е. правильнее называть хеш-функции "Помехоустойчивое кодирование". Контроль данных и т.п.
кстати, crc32 в некоторых процессорах исполняется аппаратно. Скорость вычисления будет максимальная.