Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Возможно я чего-то не понимаю, но в таком случае у атакующего будет на руках пароль с солью.
function hash($pwd)
{
return md5(xor_strings(md5($pwd), md5(SALT)));
}$pwd = '123'
md5($pwd) = 'abc'
SALT = 'sol'
md5(SALT) = 'cbb'
xor_strings(md5($pwd), md5(SALT)) = '~!#'
md5(xor_strings(md5($pwd), md5(SALT))) = 'bca'Про украденную базу по-моему никто не говорил. Говорили про брутфорс, а он осуществим и без воровства базы.
Как можно визуально это определить? Ну как? Вот допустим алгоритм такой: md5(md5(salt).md5(pwd)) Как визуально можно определить?
Конкатенация довольно часто применяется и я думаю зря. Лучше использовать более сложный алгоритм соления, вроде XOR или замешивание по принципу расчески.
Кстати, ниже хорошую ссылку привели www.insidepro.com/eng/egb.shtml как видно переборщики используют самые частые методы соления и XOR-а там нет.
Надо делать так:
Md5(password+per_password_salt_100b+static_salt_100kb)
Плюс — это конкатенация, password обрезать до 30 символов, на всякий случай.
Быстрый поиск и все оптимизации сразу в помойку. Не алгоритм, а издевательство над взломщиком. ;)
Быстрое восстановление пароля по MD5-хешу методом брутфорса