Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!

пароли хешируются, а не шифруются. Это принципиальное различие, которое часто путают.
Шифрование — двусторонний процесс
Шифрование бывает односторонним - в этом случае ключем для шифрования пароля является сам пароль. Это раньше применялось в некоторых UNIX-подобных ОС.
PBKDF2 ... существенно слабее ... при одинаковом времени вычисления
ага, потому сам пароль должен влиять на число итераций типа так:
string = Application Secret + password + User ID + salt?
iterations = 1_000_000
additional iterations = Int(string) % iterations
Hash (string, 1_000_000 + additional iterations)
Безопасное хранение паролей: соли, перцы и выбор алгоритма