За последние 24 часа нас посетили 22828 программистов и 1237 роботов. Сейчас ищут 775 программистов ...

Что пользуете для хеша?

Тема в разделе "Решения, алгоритмы", создана пользователем Danilka, 23 авг 2008.

  1. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Vladson

    Слабые пароли пользователей это проблемы пользователей. Дырявость системы это проблемы создателей системы.

    Надо быть параноиком! Если есть возможность поднять защиту, то нужно поднимать защиту.

    О защите в целом или о ее других частях, ИМХО, нужно писать в других темах, иначе выходит флейм и оффтоп. В этом треде мы рассматриваем конкретный вопрос, хеширование, и ищем решения, наиболее защищенные от взлома. Какие у Вас есть предложения по этому вопросу?
     
  2. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Ок, по сути использование самого крепкого хеширования существующего на момент создания продукта. Но сделав это расслабляться не стоит, есть случаи (80% если верить статистике) когда это ровным счётом ничего не даст...

    PS сколько раз повторять, называйте меня на "ТЫ" (это касается всех кто пересекался со мной хотя бы в 1-м топике) я не на приём к королеве пришёл, а на форум где мои коллеги (читай "друзья")
     
  3. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А если двойное шифрование мд5??? md5(md5($ext)); Мало кто додумаеться дважды расшифровывать МД :)))
     
  4. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Каждый дурак додумается ибо такое предложение уже с 2004-го года проходит в каждом втором топике про MD5 причём расшифровка второго намного меньше ресурсов требует...
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Почему?

    А если комбинировать хеши? sha() md5() и пр... и в текст вставлять некий код.... типа 123 в начала строки, в середину и в конец...
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Че-то мне слабо верится, что кто-то будет обращать хэши паролей, спертых с моего сайта:) Особенно, учитывая что для подбора строки за "достаточно короткое время" нужен мощный кластер. ИМХО для веб-сайтов, md5 - более чем достаточно.
     
  7. Anonymous

    Anonymous Guest

    гораздо менее защищен, чем просто md5($text);
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Аргументы?
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Кроме большей вероятности совпадения.
     
  10. Anonymous

    Anonymous Guest

    Что значит - «кроме» ?
    Набор значений гораздо ограниченней.
     
  11. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Победил:
    PHP:
    1. <?php
    2.  
    3. $id = 1;
    4. $login = 'Hight';
    5. $regtime = 123456789;
    6. $password = '123qwe';
    7.  
    8. $key = md5($id.$login.$regtime);
    9.  
    10.  
    11. class crypter
    12. {
    13.     static $algorithm = MCRYPT_BLOWFISH;
    14.     static $mode = MCRYPT_MODE_ECB;
    15.     static $resource;
    16.  
    17.     // Шифруем
    18.     public static function encrypt($key = NULL, $string = NULL)
    19.     {
    20.         self::$resource = mcrypt_module_open(self::$algorithm, '', self::$mode, '');
    21.  
    22.         $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND);
    23.  
    24.         mcrypt_generic_init(self::$resource, $key, $iv);
    25.  
    26.         $encrypt_string = mcrypt_generic(self::$resource, $string);
    27.  
    28.         mcrypt_generic_deinit(self::$resource);
    29.         mcrypt_module_close(self::$resource);
    30.  
    31.         return $encrypt_string;
    32.     }
    33.  
    34.     // Душифруем
    35.     public static function decrypt($key = NULL, $string = NULL)
    36.     {
    37.         self::$resource = mcrypt_module_open(self::$algorithm, '', self::$mode, '');
    38.  
    39.         $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND);
    40.  
    41.         mcrypt_generic_init(self::$resource, $key, $iv);
    42.  
    43.         $decrypt_string = mdecrypt_generic(self::$resource, $string);
    44.  
    45.         mcrypt_generic_deinit(self::$resource);
    46.         mcrypt_module_close(self::$resource);
    47.  
    48.         return rtrim($decrypt_string);
    49.     }
    50. }
    51.  
    52.  
    53. $encrypt_password = crypter::encrypt($key, $password);
    54.  
    55. $decrypt_password = crypter::decrypt($key, $encrypt_password);
    56.  
    57. echo 'Encrypt password is: '.$encrypt_password;
    58. echo '<br><br><br>';
    59. echo 'Decrypt password is: '.$decrypt_password;
    60.  
    61. ?>
     
  12. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Зашифрованные таким образом пасы надо хранить в тиниблобе (tinyblob).
     
  13. Amian

    Amian Активный пользователь

    С нами с:
    15 мар 2007
    Сообщения:
    189
    Симпатии:
    0
    Это наглая ложь :lol:

    У SHA-2 вроде как еще не нашли уязвимостей ?
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Любой хэш уязвим, вопрос лишь в времени и вычислительных мощностях :)
     
  15. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Горбунов Олег
    с чего бы это? тебе нужно выделить из второго хеша - первый, а из первого - пароль. и в отличии от пароля, первый хеш представляет собой "шум", ни разу не внятную строку.
    брутфорс "сдохнет".
     
  16. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Можно в цикле пароль до опупения по очереди sha1 и md5 шифровать. Хохма обеспечена.
     
  17. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    А еще потом можно из хэша хэша строки из двух хэшей пароля с добавлением статичного ключа выбрать все буквы и цифры в разные переменные, захэширвать, полученые символы через один собрать в строку, закодировать base46, и опять захэшировать!!!
     
  18. kostyl

    kostyl Guest

    Круто: аватара на php.ru - внешний вид возможного хакера. ГЫ
     
  19. kostyl

    kostyl Guest

    Вот некоторое мнение:
    http://www.xakep.ru/magazine/xa/103/056/1.asp
    И я согласен с тобой Vladson. Если добрались до хэшей то чё тут все остальное... разве что хэши в шарэд файле ГЫ
     
  20. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Не надо подменять понятия, я просто программист который имеет о безопасности кое-какие знания... (не однократно держал форумы на дырявейшем движке, и приходилось самому себя ломать чтоб не успели ломать другие)
     
  21. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    kostyl
    Часть статьи, посвященная анализу алгоритмов - на редкость бездарный бред...
    Остальное - банальщина.
     
  22. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    никогда не любил дешевые статейки с Ксакепа... вот опять:
    че за бред, откуда мы получим строку 64 символа, если у на есть соль и есть конечный хеш? одно неизвестное и надо найти неизвестное? одно уравнение с двумя неизвестными.

    далее идут примеры подогнаные на простоту и быстроту.
    статью в топку.
     
  23. kostyl

    kostyl Guest

    antonn
    я просто поделился случайно найденным мнением ГЫ (не своим естественно)...
     
  24. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. md5($password) . md5($salt)
    сколько символов? Вот хэшем пароля и будут первые 32 символа.
     
  25. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    по моему это получается нефигственный перебор. на "взлом" это никак не тянет, я вот как то рассматривал статью именно с этой стороны...
    у тебя есть конечный хеш, тебе нужно для конечного отхешить хеш соли и пароля. а перед этим угадывать пароль и его хешить.