дабл md5

Discussion in 'PHP' started by scrat, 23 May 2007.

  1. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    вот я так подумал(я могу думать!) что если выполнять шифрование md5 дважды? код это особо увеличивать не будет:
    вместо
    Code:
    md5($password);
    будет
    Code:
    md5(md5($password));
    а вот брут этого будет сильно затруднён т.к. расшифровать хеш в хеше будет наааамного сложнее!
    ну что вы думаете по этому поводу?
     
  2. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Я тоеж атк думал ,непомню уже что надумал но как мне показалось разницы нету :)
     
  3. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    будет сложнее в 2 раза.. точнее медленее ..
     
  4. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    ну вот если взять пароль "password" то его md5 хеш будет равен 5f4dcc3b5aa765d61d8327deb882cf99 а дважды md5 будет 696d29e0940a4957748fe3fc9efd22a3 в итоге в базе храниться такой же по размеру хеш,а вот расшифровать его я бы не сказал что в 2 раза труднее(медленнее),ведь при расшифровке просто md5 хеша в среднем где-то на 6-10 символах расшифровываеться а тут 33 символа да ещё фиг догадаешься что это дважды зашифрованно.
     
  5. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    хм в 3 крякми от без гуя тоже было что то вроде for 1 do 100000 begin md5('string');
    Ну и все равно его сломали подбором меньше чем за 2 дня .
     
  6. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Хм, с трудом вериться что такое можно сломать.....
    Как ты расшифруешь хеш хеша?
     
  7. Ro$k-0

    Ro$k-0 Member

    Joined:
    29 Mar 2007
    Messages:
    16
    Likes Received:
    7
    Reputations:
    0
    Впринципе если знать что именно так хешируется:
    md5(md5($password));
    то подбор замедляется,грубо говоря в 2 раза.
    (Всё зависит от вычислительных способностей)

    scrat,чтобы подобрать пароль к хешу надо:

    1)md5(md5($password_brut));где $password_brut-пароль из словаря и.т.д

    2)сравнить :
    md5(md5($password_brut))
    и
    хеш который ломаем.
     
    1 person likes this.
  8. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    А зачем подбирать коллизии нам помогут =)
     
  9. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    брутфорс в данном случае не будет особо затруднен, особенно если знать алгоритм..
    гораздо эффективнее использовать более сложные алгоритмы с применением salt..
     
    1 person likes this.
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    md5(base64_encode(md5($password)));
    Хотя тоже сложного ничего, если знать какой алгоритм =\
     
  11. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    Всё верно. Если знать алгоритм, то брут затрудниться в два раза, а если не знать, то чтобы dc5f4c3b5aa765d61d8327deb882cf99 превратилось в 696d29e0940a4957748fe3fc9efd22a3 понадобиться пара сотен лет (если без коллизий. Чистый брут)
     
  12. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    md5(md5($string));

    Ломаеться так:
    Первым делом подбираем строку к хешу чтобы она была равна 696d29e0940a4957748fe3fc9efd22a3=5f4dcc3b5aa765d61d8327deb882cf99
    а дальше брутим 5f4dcc3b5aa765d61d8327deb882cf99 как обычный хещ так что не вижу сособой сложности ^^ тем более что MD5 работает сотые доли секунды на 1 пентиумах ;)
     
  13. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    По-моему не ахти надежно, т.к. количество коллизий с увеличением количества процедур хеширования увеличивается в геометрической прогрессии, т.е. казалось бы расшифровать труднее, а оказывается, в разы проще...
     
    1 person likes this.
  14. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    а вот если использовать соль, то это действительно затруднит (естественно есле ты ее не знаеш).


    да
     
    #14 nc.STRIEM, 23 May 2007
    Last edited: 23 May 2007
  15. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    Увеличивается нагрузка на серв и время расшифровки, вот и всё=\
     
    _________________________
  16. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    md5 это не шифрование
     
  17. Boccob

    Boccob Elder - Старейшина

    Joined:
    4 May 2007
    Messages:
    37
    Likes Received:
    18
    Reputations:
    1
  18. Raz0r

    Raz0r Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    126
    Likes Received:
    20
    Reputations:
    0
    Делаем так, если пишем, например, авторизацию на свой мега-секурный-CMS:
    1. Генерируем рандомную соль
    2. Используя соль криптуем пароль md5(md5($password . $salt));
    3. Пишем в БД и соль и криптованый пароль
    4. При авторизации берем отправляемый нам пароль, выдираем из БД соль, криптуем и сравниваем получившееся с паролем в БД
    В куках пишем только пароль и можно замуту с сессиями сделать :) И если сопрут куки и при наличии фишки с сессиями - взлом аккаунта быстро просечется (на своей CMS я сделал логирование подобных попыток авторизации, если вдруг ломятся не с того IP, который прописан в сессии).
     
  19. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    Не факт что такая попытка авторизации является взломом. К примеру: сидит человек в инете через GPRS, т.к. сама посебе это штука ненадежная, канал рвется. Человек соединяется еще раз, dhcp выдает ему новый IP. Чел обновляет страницу в браузере, которому на махинации с реконнектами наплевать, и тут твоя CMS орет: "Аааа!!! Подлый хакир!!!".

    Некрасиво выходит...

    ИМХО, лучше просто включить привязку сессии к IP в настройках PHP. Тогда и сессию не сопрут, и левых логов не будет, и клиента обзывать не будут), просто попросят войти заново.
     
    #19 Helios, 23 May 2007
    Last edited: 23 May 2007
  20. Raz0r

    Raz0r Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    126
    Likes Received:
    20
    Reputations:
    0
    Никто и не говорит - просто в системе останется запись об этом - и если пользователь обнаружит, что, скажем, во время его отсутствия кто либо заходил под его пользователем - он может принять какие-либо меры.
    p.s. система его пропускает дальше и генерирует новую сессию с его IP.