Вы должны использовать SSL для передачи зашифрованных паролей, чтобы посредник не мог перехватить пакеты и прочитать то, что когда-либо отправляло учетные данные.Даже если вы предварительно хешируете пароль в клиенте, посредник все равно может использовать это значение для фальсификации личности.
Что меня действительно беспокоит, так это использование SHA-512,Многие люди используют криптографические хеши для хранения паролей, но распространенное мнение упускает очень важный момент: эти хэши были спроектированы , чтобы быть быстрыми .То есть одно из требований , чтобы стать хешем SHA (или аналогичным), - это возможность быстрого хеширования больших документов на встроенном оборудовании.
Это полная противоположность того, что вы хотитедля хранения паролей, так как это позволяет специализированным процедурам на высокопроизводительных графических процессорах перебирать пароли с удивительной и пугающей скоростью!
Вот почему были разработаны специальные хеши для хранения паролей.Я использовал Bcrypt , который достаточно медленный, чтобы не допускать атаки методом грубой силы, настраиваемый для подключения более быстрого оборудования в будущем, и имеет дополнительный бонус для обработки засолки.