За последние 24 часа нас посетили 18634 программиста и 1703 робота. Сейчас ищут 917 программистов ...

Кто тут ратовал за шифрование паролей в SHA1 ?

Тема в разделе "Прочие вопросы по PHP", создана пользователем флоппик, 11 май 2009.

  1. kostyl

    kostyl Guest

    а, я уже видел... честно сказать я думал что так будет, рано или поздно все хэш алгоритмы уходят... и sha1 уже явно задержалось...
     
  2. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Вовремя я перешел на PASSWORD() :)
     
  3. Hight

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

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Я вообще blowfish делаю.
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    md5(base64_encode(md5()))
    0_o
     
  5. kostyl

    kostyl Guest

  6. Hight

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

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    PHP:
    1. <?php
    2. class ***_CRYPT extends ***
    3. {
    4.     private static $algorithm;
    5.     private static $mode;
    6.  
    7.     private static $resource;
    8.  
    9.     private static function get_config()
    10.     {
    11.         self::$algorithm = parent::$crypt_config['algorithm'];
    12.         self::$mode = parent::$crypt_config['mode'];
    13.     }
    14.  
    15.     // Шифруем
    16.     public static function encrypt($string = NULL)
    17.     {
    18.         self::get_config();
    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, CRYPT_KEY, $iv);
    25.  
    26.         $encrypt_string = mcrypt_generic(self::$resource, $string);
    27.  
    28.         mcrypt_generic_deinit(self::$resource);
    29.  
    30.         mcrypt_module_close(self::$resource);
    31.  
    32.         return $encrypt_string;
    33.     }
    34.  
    35.     // Дешифруем
    36.     public static function decrypt($string = NULL)
    37.     {
    38.         self::get_config();
    39.  
    40.         self::$resource = mcrypt_module_open(self::$algorithm, '', self::$mode, '');
    41.  
    42.         $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND);
    43.  
    44.         mcrypt_generic_init(self::$resource, CRYPT_KEY, $iv);
    45.  
    46.         $decrypt_string = mdecrypt_generic(self::$resource, $string);
    47.  
    48.         mcrypt_generic_deinit(self::$resource);
    49.  
    50.         mcrypt_module_close(self::$resource);
    51.  
    52.         return rtrim($decrypt_string);
    53.     }
    54.  
    55.     // md5
    56.     public static function hash_md5($string = NULL, $raw_output = false)
    57.     {
    58.         return md5($string.MD5_SALT, $raw_output);
    59.     }
    60.  
    61.     // sha1
    62.     public static function hash_sha1($string = NULL, $raw_output = false)
    63.     {
    64.         return sha1($string.SHA1_SALT, $raw_output);
    65.     }
    66. }
     
  7. kostyl

    kostyl Guest

    Hight
    Благодарю. У меня просто проблемы какие-то были непонятные....
     
  8. Hight

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

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Наверняка ;)

    Вообще очень удобно именно шифровать пароли, с ключём разумеется, который где-то очень далеко лежит.
     
  9. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Mr.M.I.T.
    Зачем так сложно? :)
    [sql]INSERT INTO table VALUES(0, 'Vasja', PASSWORD('javasja!'));[/sql]
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    а это разве не простой хэш будет?
     
  11. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Mr.M.I.T.
    Будет, но это собственный алгоритм хеширования MySQL'a и длинна хеша 41 байт. Перебирать будет проблемнее, т.к. я ещё не видел прог которые бы позволяли перебирать MySQL хеши, в отличии от MD5, SHA1 и их вариация md5(md5()) с солями и прочими.
    Скажу по секрету - был опыт с подбором паролей под целую базу с использованием CUDA. За два дня был получен необходимый доступ, хотя там пароли md5($salt.$pass.$salt)