Самая надежная в мире соль MD5

740
.
Действительно ли столь простая операция приведет к необратимому хешированию пароля?
function subm5($string = '')
{
$string = md5(substr($string, 0, 3)) . $string;
return md5( $string );
}


Встретил данную функцию на просторах интернета.
Также упоминалось, что чем длиннее пароль тем сложнее дешифровка в невероятной прогрессии.
.
Think different
# NURD (08.08.2014 / 17:05)
Действительно ли столь простая операция приведет к необратимому хешированию пароля?
md5 и так необратимо хеширует.
.
(\/)____o_O____(\/)
третья тема от тебя про мд5 вроде как уже
.
Шифрование мд5 не расшифровуеться и никкакие соли не улучшат защиту. Пароль можно либо подобрать брутфорсом из-за чегоо и увеличивается в прогрессии время на подбор при большей длине пароля, либо же можно погпробовать пробить его по базе существующих расшифровок(просто бот поочерёдно все комбинации в базу заносит и это потом сверяется), вот здесь то и надо соль, в идеале, чтобы защитить хеш от такого подбора достаточно к примеру все единицы инвертировать в пятёрки, 8 в 2, и ещё пару таких правил, вот это и будет идеальной защитой )
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
Ну начнем с того, что сама функция бесполезна.
Зачем тебе данная функция, если ты потом сам же не сможешь распознать свой пароль?
Ты скорее всего не разобрался в криптографическом алгоритме шифрования с солью.

Он (алгоритм) подразумевает, что когда ты собираешься хэшировать пароль, к нему ты добавляешь строку в несколько символов, которая называется "Соль". Потом ты все хэшируешь.
Но дело в том, что саму соль ты должен хранить у себя, это твой ключ к проверке пароля, не имея соли ты не сможешь потом проверить свой пароль по базе.

А в той функции, соль обрабатывается substr(), что искажает изначально переданный функции параметр (теряется исходная соль).
.
╭∩╮ (`-`) ╭∩╮
# Onatolich (10.08.2014 / 01:20)
Шифрование мд5 не расшифровуеться и никкакие соли не улучшат защиту.
Первое утверждение верно, а вот со вторым позволю себе не согласиться.
Соль - для того и придумали, чтоб усложнить расшифровку по радужным таблицам.
.
NURD
Данная функция используется для того, чтобы соль для каждого пароля была разной.
Суть функции в том что она удленняет пароль на 32 символа благодаря хэшу первых трех.
В итоге у нас получается соленый паролик, соль которого для сверки "хранить у себя" не нужно.
Более того базу "самосоленых" паролей вы ненайдете. Под "необратимо" я подразумевал - безопасно, значит не существовало в базах и брутом не подобрать.
Естественно брут можно написать. Но сами 2 функции md5 уже существенно замедляют процесс брута на любом языке. Ассемблер уже выдаст максимум 30-150 млн. комбинаций в секунду а не 60-300 млн.
Наполнять базу такой сложности будет довольно сложно в связи с увеличенной нагрузкой. Да и используется такой алгоритм только на одном проекте (на работе встретил в коде).

Решил спросить что думаете вы по-этом поводу. Но похоже здравомыслящих людей здесь нет. Одни батхёрдщики)))

ББ.
.
NURD, Как по мне и обычный шифр паролей который есть на Джоне вполне справляеться со своей работой и без супер соли.

Зачем так всё усложнять солью я не понимаю, там же не банк система где нужна повышенная защита от взлома акков.
.
(\/)____o_O____(\/)
NURD, самосоление конечно интересно, главное рецепт только ты знаешь, но опять же все можно подобрать при желании если знать не много информации
.
а как это привязать к нашему движку,у меня ломают анкеты почти каждый день,уже не знаю что делать
Всего: 20