title: .NET 3.5 - Hashing a password using System.Cryptography
body: <p>I am a bit of a newbie around Security nitty gritties and especially around Cryptography.</p>
  
  <p>In the application we are building(ASP.net application built on .NET 3.5), we are currently using Databases to save our users authentication information (AD etc is not an option at this point).
  The intention is to do a one way salted hash of the passwords using SHA256Managed on user creation and then validate the users using the same.
  Ideally, we do not want to use any third party dll's for the hashing algorithm unless absolutely necessary to avoid any unnecessary dependencies.</p>
  
  <p>Questions:-
  1. Is there a better option than doing a salted one way hash?
  2. Is SHA256 a reasonably reliable / secure option or should we be considering anything else?
  3. Is the SHA256Managed implementation in System.Cryptography good enough in terms of it speed etc or should we be considering 3rd party alternatives to it?</p>
  
  <p>Any pointers as to the approach / implementation will be helpful.</p>