Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to save the Password in C# .NET?

Tags:

c#

database

I am making a C#.NET application wherein I have designed an Administrator account. Now to Login in that account the Administrator has to enter the password.

My Question is : How do I save that password?

Possible options :

  1. Global variable (Obviously incorrect because it will be reset to its default value everytime I run the application)

  2. Database Relation (Feasible but it serves to be a scalar relation only....)

I don't want to store it in a scalar relation because I think it is stupid to use a relation for only one entry and one column!

Is there any other optimum way to store the password?

like image 827
killerCoder Avatar asked Nov 30 '22 08:11

killerCoder


1 Answers

You can store it salted and hashed in a user settings file.

You can access the default settings file using something like:

private bool CheckPassword(string salt, string password) 
{
   var hash = Encoding.ASCII.GetBytes(salt + password);
   var sha1 = new SHA1CryptoServiceProvider();
   var sha1hash = sha1.ComputeHash(hash);
   var hashedPassword = ASCIIEncoding.GetString(sha1hash);

   return (Properties.Settings.Default.adminPass == hashedPassword);
}
like image 122
Variant Avatar answered Dec 02 '22 21:12

Variant