2010-05-28 2 views
1

Итак, я хочу создать программу, которая позволит вам хранить и искать имена пользователей/пароли для онлайн-сайтов, на которых они зарегистрированы.C# - База паролей

Я знаю, что у C# есть некоторые параметры базы данных, но я мало знаю об этом. Я также слышал, что он может читать/писать файлы excel.

Как вы думаете, что лучше всего для хранения данных?

ТАКЖЕ ли базы данных необходимо хранить в сети на терминале или они могут находиться в программе файлов?

+5

ваш вопрос является слишком общим и содержит ничего конкретного, что можно ответить. –

+1

Если вы можете использовать Excel -> решить проблему без какого-либо программирования с вашей стороны. Нет? – scherand

+0

У вас есть много вариантов в зависимости от масштаба вашего приложения: MSSQL, MySQL, PostgreSQL, Oracle DB, ...; нереляционные dbs: MemcacheDB, Cassandra, Amazon SimpleDB, ...; для приложения с относительно небольшим масштабом, которое должно быть распределяемым, я бы пошел с sqlite. – Felix

ответ

0

Поскольку вы говорите об хранении паролей, я бы сказал, что важнее, чем решить, как хранить данные, - это решить, насколько безопасно это вам нужно.
Вот статья, которая описывает 3 различных approaces для хранения базы данных паролей и поэтому может быть хорошей отправной точкой:

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

2

Да, C# может работать с Excel, но я не рекомендую вам это. Сначала это не очень эффективно, во-вторых, вы привязаны к драйверам. Я рекомендую замечательный легкий базу данных Sqlite и здесь классы для .net http://sqlite.phxsoftware.com/

2

, принимая во внимание тип данных, которые вы желаете, чтобы хранить, я подозреваю, вы будете хотеть высокий уровень безопасности, встроенный в ваше решение для хранения данных. Я не уверен, что использование незашифрованных файлов Excel или XML предоставит это. Если бы вы использовали SQLite, как предложил Андрей, вы можете рассмотреть encrypting the database.

+1

Вы также можете зашифровать XML-файл. 'new XmlWriter (новый CryptoStream (File.OpenWrite (имя файла), шифр, CipherStreamMode.Write))' .. – Patrick

0

Я знаю, что вы попросили их сохранить, но вместо того, чтобы хранить их, используйте алгоритм хеширования, объедините мастер-пароль с некоторой солью (то есть имя веб-сайта) и создайте уникальный пароль для каждого сайта. Таким образом вам не нужно хранить или даже знать фактический пароль, просто главный пароль и имя веб-сайта.

Смежные вопросы