azsx писал(а):что Вы Виталий не прав.
Я не прав???????????????? Вы серьёзно?????????????????????????!
Модератор: Модераторы
azsx писал(а):что Вы Виталий не прав.

setLength(md5Array, md5max * 2 );
for i := 0 to md5max * 2 - 1 do begin
     if in_array(md5(i), md5Array) then ShowMessage('Это уже '+IntToStr(i)+' совпадение хэша!');
     md5Array[i] := md5(i);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
b,c:byte;
i:integer;
begin
  b:=0;
  c:=0;
  for i:= 0 to 1024 do begin
    inc(b);
    if (b = 255) then begin
      inc(c);
      ShowMessage('Это число 255 повторяется уже '+IntToStr(c)+' раз');
    end;
  end;
end;
azsx писал(а):результат тот же
 И результат НОВОГО-ЖЭШ-ИНДЕКСА - ДАЛЕКО не тот же, а на 100% более устойчивый и надёжный. И тройной хэш, можно применять в качестве УНИКАЛЬНОГО ИНДЕКСА, т.к. он для этого придуман. А просто хэш позволяет сверить лишь целостность слова, но просто ХЭШ - не может быть УНИКАЛЬНЫМ ИНДЕКСОМ. И я Вас не принуждаю использовать НОВЫЙ-ХЭШ-ИНДЕКС, если Вам достаточно 128-битного хэша, который Вы с Ваших слов используете или предлагаете использовать, в качестве УНИКАЛЬНОГО ИНДЕКСА, то
  И результат НОВОГО-ЖЭШ-ИНДЕКСА - ДАЛЕКО не тот же, а на 100% более устойчивый и надёжный. И тройной хэш, можно применять в качестве УНИКАЛЬНОГО ИНДЕКСА, т.к. он для этого придуман. А просто хэш позволяет сверить лишь целостность слова, но просто ХЭШ - не может быть УНИКАЛЬНЫМ ИНДЕКСОМ. И я Вас не принуждаю использовать НОВЫЙ-ХЭШ-ИНДЕКС, если Вам достаточно 128-битного хэша, который Вы с Ваших слов используете или предлагаете использовать, в качестве УНИКАЛЬНОГО ИНДЕКСА, то   флаг Вам в руки, т.к. возможно для Ваших задач его хватит с избытком!
 флаг Вам в руки, т.к. возможно для Ваших задач его хватит с избытком!azsx писал(а):я знаю, что Вы Виталий не прав
azsx писал(а):я знаю, что Вы Виталий не прав
azsx писал(а):я знаю, что Вы Виталий не прав
azsx писал(а):я знаю, что Вы Виталий не прав
azsx писал(а):я знаю, что Вы Виталий не прав


serbod писал(а):Для md5 есть способы быстро подобрать исходные данные, чтобы получить нужный хеш (создать коллизию). Это значит, что md5 не пригоден как электронная подпись, как защита от подделки.
Но как контрольная сумма для сравнения данных на совпадение он очень даже годится. Для структурированных данных (текст, html) достаточной длины вероятность коллизии настолько мала, что можно считать невозможной. Чтобы вызвать коллизию, нужно изменить содержимое так, что оно будет выглядеть как мусор.
Однако, полностью полагаться на вероятность не позволяет моя профессиональная паранойя. Я уже сталкивался по работе:
- со сбоями контроля целостности в TCP;
- с недостаточно равномерным распределением ключей в хеш-таблицах;
- с гарантированной повторяемостью генераторов случайных чисел;
- со сбоями алгоритмов поиска и конвертации данных;
и поэтому на всякий случай делаю дополнительные проверки, которые работе не мешают, но иногда спасают меня от неприятностей.
serbod писал(а):Чтобы вызвать коллизию, нужно изменить содержимое так, что оно будет выглядеть как мусор.

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1