Я немного новичок в вопросах безопасности и особенно в криптографии.
В приложении, которое мы создаем (приложение ASP.net, построенное на .NET 3.5), мы в настоящее время используем базы данных для сохранения информации об аутентификации наших пользователей (на данный момент AD и т. д. не вариант). Намерение состоит в том, чтобы сделать односторонний хэш паролей с использованием SHA256Managed при создании пользователя, а затем проверить пользователей, используя то же самое. В идеале мы не хотим использовать какие-либо сторонние dll для алгоритма хеширования, если только это не является абсолютно необходимым, чтобы избежать ненужных зависимостей.
Вопросы: 1. Есть ли лучший вариант, чем односторонний хеш с солью? 2. Является ли SHA256 достаточно надежным/безопасным вариантом или нам следует рассмотреть что-то еще? 3. Является ли реализация SHA256Managed в System.Cryptography достаточно хорошей с точки зрения скорости и т. д., или нам следует рассмотреть альтернативы сторонних производителей?
Любые указатели относительно подхода/реализации будут полезны.