![]() |
Доброго вечера.
Решил попробовать написать простенькую форму регистрации для сервера л2, ничего такого просто чтоб в локалке висела, вроде бы все работает в базу логин пароль мыло заносит, но с клиента не авторизуется, ибо предполагаю что метод шифрования отличается, и никак не получается подружить все это дело, помогите найти выход из положения, хотябы пример или что я не так делаю. Регистрация осуществляется при помощи библиотеки RedBeanPHP. Вот кусок который сохраняет пароль в БД: Код: Код:
$accounts->password = password_hash($data['password'], PASSWORD_DEFAULT);Код: Код:
$accounts->password = base64_encode(pack("H*", sha1(utf8_encode($password))));lead nitrate molar mass |
$accounts->password = password_hash($data['password'], PASSWORD_DEFAULT);
-> $accounts->password = base64_encode(pack("H*", sha1(utf8_encode($data['password'])))); попробуйте |
Огромнейщее вам СПАСИБО!
|
Цитата:
Цитата:
Это хеширование, а не шифрование. Примерно твоя функция должна выглядить как-то так... PHP: Код:
function |
Моя задача стояла намного проще и то , для ее реализации было внесено 1 единственное изменение с труктуру таблицы, и при всем при етом хоть и длинна хеша теперь не 88 символов как тот же самый вирпул, а всего лиш к примеру 16 символов , при условии разности длинны и сложности создоваемого пароля, его не один брут не смог ломать\подобрать спустя даже 24 часа, Пароль был всего навсего Цыфра 1.
А смысл в хешировании если хеш можно подобрать сломать угадать? Безопасность должна быть безопасной! Ингда хочется с умничать и написать: Лучше всего этот пример описан в книге «Прикладная криптография» Брюса Шнайера. Про теорию о энергии для рашифровки 256 битного ключа. Кто читал тот поймет не буду усложнять и приводить цитат. |
В продолжении темы:
Вот хеш очень ппростой jTsYZJrNDCQr9lIj3MMA5Wcbczo= Даш ответ я отдат вам обвязку. Цитата:
|
Цитата:
вы предлагаете нам брутить ваш хеш, что бы получить кусок скрипта и кусок шаблона, мне кажется там даже адаптивностью не пахнет, что касается уровня кода не могу сказать, но хотя бы инпуты и батоны оформили красиво |
Спасибо. Бро
Критика она как бальзам по сердцу. Пусть гумно, пусть не будете вы брутить, но я добился того чего хотел. Я как девопс планирую свою работу до, в процессе, и результат. И результат меня устроил! А по поводу кода там все красиво и понятно. Адаптивность есть к вашему удивлению. В отличии от всяких гхтвеб и прочих стресов\дле\etc , мне нужен был скрипт который просто регит аккаунт. а все остальное мне фонарь светит. И еще один + я осваиваю библиотеку RBPhP это реально тема. Ни ожидал для себя. И даже вы не сможете мне вразумительно , дать то что рельно нужно для конечного юзера, ибо пафос самооуверенность в своей собственной невъебеннс-ти, вам не позволит достич тех результатов которых добиваются простые люди с простым отношением людям. |
Сейчас бы костыли придумывать.
Толку от хеша? Вот тебе мд5, который вообще не безопасен, сколько у тебя времени уйдет на его расшифровку и получения пароля? faa4201245dedc16849e0cd4812efee3 Смысл всей защиты, что бы взлом ее стоил дороже чем информация которую ты получишь. Для ЛК ты можешь использовать любые алгоритмы, кучу солей, и другие приблуды, но для сервера л2 без ищизменен серверной части будешь использовать как Логан выше написал. |
Цитата:
|
Благодарю но есть вопросы:
Цитата:
Код:
function hashPass($alg = 'sha1', $pass = null) {....etc Зачем RETURN to SOURCE? Если вы понимаете о чем я. Проиграл так проиграл никто ненесет ответственности по большому счету. Все хорошо забытое старое есть новое! |
А вопще скину 500 р. 00 к. деревянных только за то чтоб сломали хеш указаный в 6 теме. больше он не стоит .
|
Цитата:
За такое гувеное КБ от MaDCaT.pw (ныне несуществует) до сих пор запросы валятся. оно есть у меня хорошо что дождался решения от узкоглазых TLS переходник помог излечить муху ЦЦ на HDD баракуде. выдрал все с мультами и данными. кому нужно отдам за так. Простота сестра таланта. |
@[MSN]-MADCAT, ты хоть сам понимаешь что ты пишешь?
Какие то куски неработающего кода. За 500р хеш... суда по всему самопридуманный метод какой-то... вон тебе ещё один хеш - расшифруй и будешь знать мой пароль от этого форума. Ну и вознаграждение в 10 раз больше чем ты предлагаешь. Хеш: You11Are22Out33Of44Your55Mind |
Цитата:
В шаре же |
Цитата:
Цитата:
|
Цитата:
Но я не понял о чем речь из-за непонятно написанного кода, но может ты хотел как-то так написать... PHP: Код:
function |
Веселая конечно тема, особо удивила запись, что md5 хеш не безопасен. Это почему же, если нет ни одного варианта кроме перебора по словарю? Ну если конечно у вас кверти пасс и хеш под это пасс есть в базах сервисов дешифровки то да. Но если пароль уникальный то это реальная проблема, попробуйте его подобрать)))
Да и если уж хочется большего то почему бы не юзать примерно такое; Это всего лишь обычнаю тест конструкция просто как пример поднабросал, под любой проект можно переиграть, не думаю что двойной md5 легко будет прогнать по словаю. Ну а если уж совсем шизоврения (есть сервисы перебора по словарю даже и с двойным md5)можно подтянуть конфиг со здоровенной ключевой фразой, которую довеском подсунуть в формирование двойного md5, тогда уже перебор вообще окажется из роли фантастики, но при этом если вы случайно потрете из конфига эту фразу и не восстановите ее то все пассы в базе станут для юзеров неработоспособны Тут нужно иметь понимание, что слив подобной базы не даст ничего кроме списка ников и мейл адресов, перебирать что то там бесполезно. |
А давайте MD5 ломать, посылая по одному символу и проверять ответ?
|
Цитата:
|
Цитата:
Цитата:
Длинная статическая соль (этот самый конфиг со здоровенной фразой) не решает проблему. При написании алгоритмов аутентификации и безопасного хранения хешей нужно исходить из таких предположений: утекла вся БД и злоумышленнику известен алгоритм хеширования (сорцы тоже утекли). Цель: получить plain-text пароль пользователя. Что будет делать злоумышленник? Скармливает софту-брутфорсеру алгоритм хеширования и самый большой словарь, который может себе позволить, примерно в таком виде (как предложенный @Alligat0r вариант): md5(md5(STATIC_SALT.DICTIONARY_WORD)) и запускает брутфорс. Уже видите проблему с такой солью? Она статическая (одна на все пароль) и никак не влияет на брутфорс, он все еще чертовски быстр. При каждой итерации подбора софт ищет полученный хеш в бд. Есть такой? Ну вот, один пароль мы нашли. И так далее. Что же делать? Не использовать статическую соль, а рандомизированную для каждого пользователя. Как её хранить? Да прямо рядом с хешем пароля. Это намного безопаснее. Почему? Рассмотрим тот же вариант: у хацкера так же есть БД и алгоритм генерации хеша. Как он будет брутфорсить: взять уникальную соль для каждой записи из таблицы юзеров. Прилепить к слову из словаря и сгенерировать хеш: md5(md5(RANDOMIZED_SALT.DICTIONARY_WORD)). Проверить, что полученные хеши не совпадают. Взять следующее слова из словаря... Я думаю что уже стало очевидно, что в первом случае нужно сделать n итераций, где n -- размер словаря. Во втором уже Nn, где N - общее кол-во записей в таблице юзеров. Другими словами, при наличии словаря на 1000000 (миллион) парольных фраз и 1000 юзеров злоумышленник переберет 1000000 хешей (что для md5 очень быстро), а во втором уже 1000 * 1000000 = 1000000000 (миллиард) итераций! Что уже усложняет жизнь. Но не делает эту задачу невозможной при наличии GPU И таки что делать? Все просто, вот алгоритм успеха: уникальная рандомизированная для каждого юзера соль, более требовательный к вычислительным ресурсам алгоритм хеширования, нежели md5: блоуфиш с адекватным кост-фактором и уникальной солью обломает хацкеру зубы (что как раз и реализует PHP password api, к слову). |
|
Цитата:
|
Все что написано в последних сообщениях это не методы взлома а методы подбора/перебора, нужно понимать разницу.
Вот к примеру md5 хеш обычный не двойной сгенерированный по 4 символам, попробуйте вскройте, прежде чем писать о способе взлома хеша и о гигантской скорости перебора. a1333e478770f8a193b3cd4e76bfa606 |
5^Bc
|
Цитата:
|
Никто твой хеш не будет ломать, он никому не нужен чтоб на него тратили свои мощности.
Взлом или брут хеша это одно и тоже, так как хеш функция не обратима, слово "взлом" в данном контексте означает получения первичного пароля. Тебе объяснили что md5 устаревший алгоритм хеширования, что тебе ещё не понятно. Хочешь используй, хочешь нет, всем плевать. |
Тема себя исчерпала, мнение и споры приводят к определенным выводам, и это есть конечный результат для начала реализации чего то нового, но оно никому ненужно. Парадокс.
Но спасибо всем кто принял участие. Было весьма интересно. |
Цитата:
|
| Время: 21:33 |