Не стоит думать что соль удастся спрятать от кражи. Если злоумышленник украл базу, есть большая вероятность что он доберется и до исходников.
Зачем вообще нужна соль? Чтобы, получив базу с захешированными паролями, злоумышленник не смог использовать заранее сгенерированные таблицы хешей.
Однако, если соль статическая и известна злоумышленнику, он может начать перебор атакуя при этом каждый из хешей.
Если соль динамическая и для каждого пароля своя, атаковать перебором нужно будет каждый хеш отдельно.
Подробнее тут.
В общем генерируйте соль для каждого пароля и кладите в базу рядом, либо используйте в качестве соли уникальные данные (тут правда есть нюансы + соль не должна быть короткой).
Вот и я хотел сказать что это не просто бесполезная, но даже вредная рекомендация.
1. Утверждение есть, но его обоснование мягко говоря сомнительное. Помоему последователи тупо подгоняют треугольнички к картинке. Вот вам еще одно утверждение, кстати.
2. Как правило, разработчики интерфейса сталкиваются с тем что размеры одного или нескольких блоков интерфейса непостоянны (контентая часть — резиновая), а другие фиксированы по ширине. Куда здесь применять сечение?
3. Имхо попытки руководствоваться подобными «принципами» приводят к тому что проектировщик будет пытаться вписать интерфейс в какие-то мнимые эталоны вместо того чтобы искать гармоничную форму в конкретном случае.
Зачем вообще нужна соль? Чтобы, получив базу с захешированными паролями, злоумышленник не смог использовать заранее сгенерированные таблицы хешей.
Однако, если соль статическая и известна злоумышленнику, он может начать перебор атакуя при этом каждый из хешей.
Если соль динамическая и для каждого пароля своя, атаковать перебором нужно будет каждый хеш отдельно.
Подробнее тут.
В общем генерируйте соль для каждого пароля и кладите в базу рядом, либо используйте в качестве соли уникальные данные (тут правда есть нюансы + соль не должна быть короткой).
Кстати, тогда при таком методе нужно не забывать хешировать пароль при смене email'а если она возможна.
Чуть лучше использовать динамическую соль. Пруф.
1. Утверждение есть, но его обоснование мягко говоря сомнительное. Помоему последователи тупо подгоняют треугольнички к картинке. Вот вам еще одно утверждение, кстати.
2. Как правило, разработчики интерфейса сталкиваются с тем что размеры одного или нескольких блоков интерфейса непостоянны (контентая часть — резиновая), а другие фиксированы по ширине. Куда здесь применять сечение?
3. Имхо попытки руководствоваться подобными «принципами» приводят к тому что проектировщик будет пытаться вписать интерфейс в какие-то мнимые эталоны вместо того чтобы искать гармоничную форму в конкретном случае.
Интересно, кто-нибудь использует это на практике при разработке интерфейса?