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