'Best' has to be defined regarding an encryption algorithm (you seem to confound hashing and encryption, but Mehdi Gholam already told you that in Solution 2). The best algorithm should the one which shows the greatest ratio between provided security and used resources.
For general use, a simple symmetric encryption, like TripleDES, should be sufficient. If security is a bigger concern, like banks for example, then an asymmetric encryption algorithm could be more appropriate, like RSA for example. But asymmetric algorithms are a little bit more complex to use, and need also more resources from the computer.
Below I summarized you some cryptographic algorithms that exist and are implemented in .NET Framework, along with some link for them so that you can go and make your own choice:
Symmetric algorithms[^]
AES[
^]
DES[
^]
RC2[
^]
Rijndael[
^]
TripleDES[
^]
Asymmetric algorithms[^]
DSA[
^]
ECDiffieHellman[
^]
ECDsa[
^]
RSA[
^]
Not knowing your concrete requirement, it is hard to tell whether you need to hash or to encrypt.
The only thing I can say is, if you are willing to encrypt your users passwords in your database, then you're wrong: you need to store a hash of the password.
This post[
^] is very informative about best practices for passwords-handling.
I know this is a lot of reading, but security is not a trivial subject, and you should not attempt to use it without understanding its very basics. Hope this helps. Good luck.