SHA512 - не лучший способ хранить хешированные пароли в наши дни. Вы должны использовать bcrypt или что-то подобное. Важно то, что засолка встроена и что алгоритм имеет значительный рабочий фактор.
Если вы солите свои пароли SHA512, просто добавляя (или добавляя) соль к открытому тексту, любой, кто получит в руки набор ваших хешированных паролей и применяет современный инструмент взлома (http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/), сможет чтобы увидеть сцепленные значения «пароль + соль» и, возможно, благодаря простому сопоставлению с образцом сможет отделить часть пароля от части «соль» для большинства, если не для всех учетных записей, о которых идет речь.
Я не думал об этом до конца, и я ни в коем случае не эксперт по безопасности, но мне кажется, что если вы зашифруете (используя, например, AES256) пароль, используя соль как ключ, а затем хэш , что с SHA512, вы будете в безопасности от уязвимости, которую я описал выше.
Однако в этот момент вы приложили больше усилий, чем потребовалось бы для перехода на bcrypt, и у вас все равно не было бы защиты рабочего фактора, поэтому я бы рекомендовал такой подход только в том случае, если среда вы работаете в не предлагает эту опцию.