views:

143

answers:

5

So I want to make a program that allows you to store and search for user names/passwords for online sites there signed up to.

I know C# has some database options but I don't know much about it. I also heard that it can read/write excel files.

Whats do you think is best for storing the data?

ALSO do databases need to be stored online on a sever, or can they reside in the program files?

A: 

Depending on the scale you plan to use this, if its for personal use, a simple xml file will do aswel.

Sdry
+2  A: 

yes, C# can work with Excel, but i don't recommend you that. First it is not very efficient, second you get bound to drivers. I recommend wonderful lightweight database Sqlite and here is classes for .net http://sqlite.phxsoftware.com/

Andrey
+2  A: 

Bearing in mind the type of data you are wanting to store, I suspect you will be wanting a high level of security built in to your data storage solution. I'm not sure that using unencrypted Excel or XML files will provide this. If you were to use SQLite as suggested by Andrey, you could consider encrypting the database.

Richard
You could encrypt an XML file as well.. `new XmlWriter(new CryptoStream(File.OpenWrite(filename), cipher, CipherStreamMode.Write))`..
Patrick
A: 

I know you asked to store them, but instead of storing them use a hashing algorithm, combine a master password with some salt (ie the name of the website) and generate a unique password for each site. This way you dont need to store or even know the actual password, just the master password and the website name.

Charles Gargent
A: 

Since you are talking about storing passwords, I'd say that more important than deciding how to store the data is to decide how secure you need it to be.
Here's an article that describes 3 different approaces to storing password databases and so might be a good starting point:

http://www.codeproject.com/KB/recipes/StoringPasswords.aspx

ho1