Я слышал о людях, использующих этот подход, и хотел бы знать, каковы последствия. Я просто знаю это плохая идея!
Из того, что я понимаю, создание пароля перед сохранением хеша в БД имеет первостепенную цель - сделать каждый алгоритм хеширования уникальным и, следовательно, потребовать новую радужную таблицу для каждого пользователя при попытке его взломать.
Как хеш ослабляется в этом контексте, если обычный текст только что засолен сам по себе?
Пример:
plainText = input();
saltedText = plainText + plainText;
hashedText = hash(saltedText);
db.store(hashedText);
И будет ли следующий подход иметь те же слабости или любые другие слабости?
plainText = input();
saltedText = hash(plainText) + plainText;
hashedText = hash(saltedText);
db.store(hashedText);