I have a program where the user inputs a password to log in. The password is then saved within a SQL 2000 Database table called users.
The problem is that any one who has SQL Query Analyzer or Enterprise Manager can very easily read these passwords.
I want the program to construct a GUID from each user’s password and store that GUID inside the SQL table and then when it’s validating user password input it deconstructs the related GUID and gets the original string value to match it with user input.
Now I’m not sure this is possible but I heard some IT specialists talking about the subject and they weren’t the kind you would ask for help.
I think you should use Encryption your password while storing in Database & then, Decryption the encrypted password fro validation.
Also, you can use Hashing.
Check this: Salted Password Hashing – Doing it Right
BTW:
Hashes are one-way functions. You cannot derive the original data from a hash.
In case of Encryption, the original data is recoverable from the encrypted data.
Refer:
Encryption/Decryption Function in .NET using the TripleDESCryptoServiceProvider Class
How to Encrypt or Decrypt password using Asp.Net with c#