Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49

Как лучше реализовать хранение записей (паролей)

19.05.2012, 17:15. Показов 4177. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ помогите советом. Нужно создать программу для хранения паролей.В этой программе я хочу сделать несколько групп(Например пароли от сайтов, или пароли от почты) где будут храниться записи. А запись включает в себя такие поля как Имя, пароль, и коментарий.
Подскажите как лучше хранить эти записи?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2012, 17:15
Ответы с готовыми решениями:

Как лучше реализовать хранение в БД?
Здравствуйте. Пишу самописный новостной сайт на PHP. Новости будут на двух языках и хранится в таблице MySQL. Вот думаю, чтобы...

Подскажите, как лучше реализовать хранение в базе следуюющих данных...
Как какова должна быть структура для хранения цен которые зависят от размеров. К примеру для одного товара цена такая ширина 1 ...

Движок на базе PHP + SQLITE(SQLITE3). Как лучше реализовать хранение URL?
Доброго времени суток, уважаемые! Заказчику требуется сохранить в базу данных SQLITE или sqlite3 все html файлы. То есть все страницы...

27
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
19.05.2012, 18:55
Через обычный класс:
C#
1
2
3
4
5
6
    class Registration
    {
        string name;
        string password;
        string comments;
    }
Потом просто создавать массив объектов для различных групп.
C#
1
2
            Registration[] site = new Registration[5];
            Registration[] post = new Registration[5];
Можно сделать абстрактный класс и с ним дальше работать.
0
 Аватар для Lasur
267 / 257 / 43
Регистрация: 18.03.2012
Сообщений: 506
19.05.2012, 19:02
Пароль как минимум следует зашифровать...
0
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
19.05.2012, 20:04
Он уже сам решит , как он будет использовать пароль. Я дал намекю как он и просил
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
19.05.2012, 20:21  [ТС]
Извенить либо я туплю, либо не много не правильно вопрос сформулировал. Но вот я накидал форму в которой как раз и вводятся Название, пароль и тд. Можно ли воспользоваться вашем примером который вы написали выше? Потому что эта запись будет еще отображаться в другом окне
Миниатюры
Как лучше реализовать хранение записей (паролей)  
0
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
19.05.2012, 23:28
Да, можно ,только надо создать несколько классов: сайт, почта и другие(для каждой группы вообщем) , а дальше их объекты с методами .
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
20.05.2012, 19:23  [ТС]
Цитата Сообщение от Andrey.K Посмотреть сообщение
Да, можно ,только надо создать несколько классов: сайт, почта и другие(для каждой группы вообщем) , а дальше их объекты с методами .
А как же хранение записей? записывать каждую группу в отдельный файл?
0
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
21.05.2012, 00:26
В отдельных файлах проще, но можно и в одном, просто надо будет придумать как оттуда считывать.
0
 Аватар для Lasur
267 / 257 / 43
Регистрация: 18.03.2012
Сообщений: 506
21.05.2012, 00:41
Создать массивы структур вроде Registration из второго поста, каждый массив назвать по группе, которую он представляет, и записывать их в файл(ы) через сериализацию, например. Подходит?
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
24.05.2012, 12:20  [ТС]
Вот тестовый вариант программы, нужно будет еще кое что добавить, но самое главное вот в чем если кто знает как это реализовать помогите.
При создании новой записи она сразу же не отображается в листбоксе, для того чтобы она появилась нужно нажать кнопку обновить можно ли как нибудь сделать что бы при добавлении или изменении записи листбокс автоматически обнавлялся?
Вложения
Тип файла: rar WindowsFormsApplication1.rar (71.9 Кб, 38 просмотров)
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
24.05.2012, 13:28
Цитата Сообщение от obevan Посмотреть сообщение
можно ли как нибудь сделать что бы при добавлении или изменении записи листбокс автоматически обнавлялся?
используй события
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
24.05.2012, 14:39
Хранить можнов XML файле или в Базе Данных.
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
24.05.2012, 20:17  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
используй события
Nio а можешь не много по подробнее рассказать?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
25.05.2012, 10:17
Цитата Сообщение от obevan Посмотреть сообщение
Nio а можешь не много по подробнее рассказать?
у листбокса есть события, которые возникают при изменении его наполнения. Подписываешься на эти события и обновляешь в них данные. Пример
C#
1
2
3
4
private void listBox1_ValueMemberChanged(object sender, EventArgs e)
        {
            //обновление данных из БД
        }
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
26.05.2012, 16:35  [ТС]
Nio спасибо за помощь, разобрался вроде не много, реализовал автоматическое обнавление.
Теперь хочу чтобы в поле где вводиться пароль отображались зевездочки а при нажатие на checkBox показыввалось что ввел пользователь. Вот я написал строчку
C#
1
if (checkBox1.Checked == false) { Form2.PasswordChar = null; }
но он ругается на PasswordChar, в чем может быть проблема?
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
26.05.2012, 21:30
Причем здесь форма-то? Свойсто для отображения символов у textBox'a. И называется оно: UseSystemPasswordChar

C#
1
2
if (checkBox1.Checked) // И наверно при поставленной галочке?
    textBox1.UseSystemPasswordChar = false;
1
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
28.05.2012, 18:30  [ТС]
Извените что заваливаю вопросами) Но помогите, как простенько можно зашифровать пароли в файле, а потом при чтении дешифровать их?
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
28.05.2012, 20:45
Алгоритмов множество. Выбирате в просторах интернета. На форуме есть много примеров, по разным алгоримам. Например: Алгорим цезаря
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
30.05.2012, 19:36  [ТС]
А можно ли как то в алгоритме цезаря учесть еще и цифры?

Добавлено через 23 часа 52 минуты
Все вопрос исчерпан, реализовал и шифрование и дешифрование
0
1 / 1 / 0
Регистрация: 23.10.2011
Сообщений: 49
31.05.2012, 22:35  [ТС]
Ессли вдруг кому понадобиться вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
public static string Coding(string password)     //процедура "Шифрование". используем шифр Виженера.
        {
            string key = "vtyzpjdenbujhm";
            string all = @"`1234567890-=~!@#$%^&*()_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'\ASDFGHJKL:""|ZXCVBNM<>?zxcvbnm,./№ёЁйцукенгшщзхъЙЦУКЕНГШЩЗХЪфывапролджэФЫВАПРОЛДЖЭячсмитьбюЯЧСМИТЬБЮ";//все символы, которые могут быть использовани при вводе пароляя
            string st; int center;                           //объявление новых переменных.
            string leftSlice, rightSlice, cPass = "";
 
            if (key.Length > password.Length)               //если длина строки пароля (ключа для входа в программу и для шифрования)>длины строки пароля (какого-либо сайта и т.д.),
            {
                key = key.Substring(0, password.Length);    //то переменная key обрежется и станет равной длинне пароля 
            }
            else                                            // Иначе повторять ключ (ключключключклю), пока не станет равным длинне пароля
                for (int i = 0; key.Length < password.Length; i++)
                {
                    key = key + key.Substring(i, 1);
                }
            //основной цикл шифрования
            for (int i = 0; i < password.Length; i++)
            {//находим центр строки all (центр - это будущий первый символ строки со сдвигом)
                center = all.IndexOf(key.Substring(i, 1));
                leftSlice = all.Substring(center); //берем левую часть будущей строки со сдвигом
                rightSlice = all.Substring(0, center);// затем правую
                st = leftSlice + rightSlice;// формируем строку со сдвигом
                center = all.IndexOf(password.Substring(i, 1));// теперь в переменную center запишем индекс очередного символа шифруемой строки
                cPass += st.Substring(center, 1);    //поскольку индексы символа из строки со сдвигом и из обычной строки совпадают, то нужный нам символ берется по такому же индексу
            }
 
            return cPass;
        }
 
      public  static string Uncoding(string password)        //процедура "Расшифрование"
        {
            string key = "vtyzpjdenbujhm";
            // строка all содержит все символы, которые можно вводить с русской и англ раскладки клавиатуры
            string all = @"`1234567890-=~!@#$%^&*()_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'\ASDFGHJKL:""|ZXCVBNM<>?zxcvbnm,./№ёЁйцукенгшщзхъЙЦУКЕНГШЩЗХЪфывапролджэФЫВАПРОЛДЖЭячсмитьбюЯЧСМИТЬБЮ";
            //строка st со сдвигом по ключу (в качестве ключа используем наш пароль для входа)
            string st; int center; // центр указывает на индекс символа, до которого идет сдвиг по ключу.
            string leftSlice, rightSlice, cPass = ""; //leftSlice, rightSlice - правый срез, левый срез. из них составляется строка со сдвигом st. 
 
            //если пароль короче ключа - обрезаем ключ
            if (key.Length > password.Length)
            {
                key = key.Substring(0, password.Length);
            }
            //Иначе повторяем ключ, пока он не примет длинну пароля.
            else
                for (int i = 0; key.Length < password.Length; i++)
                {
                    key = key + key.Substring(i, 1);
                }
            // основной цикл расшифрования.
            for (int i = 0; i < password.Length; i++)
            {
                //находим центр строки all (центр - это будущий первый символ строки со сдвигом)
                center = all.IndexOf(key.Substring(i, 1));
                leftSlice = all.Substring(center); //берем левую часть будущей строки со сдвигом
                rightSlice = all.Substring(0, center);// затем правую
                st = leftSlice + rightSlice; // формируем строку со сдвигом
                center = st.IndexOf(password.Substring(i, 1)); // теперь в переменную center запишем индекс очередного символа расшифроввываемой строки
                cPass += all.Substring(center, 1); //поскольку индексы символа из строки со сдвигом и из обычной строки совпадают, то нужный нам символ берется по такому же индексу
            }
            return cPass; //возвращаем расшифрованный пароль.
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2012, 22:35
Помогаю со студенческими работами здесь

Посоветуйте как лучше реализовать обработку порядка 100 млн. записей
Основная суть вопроса в самой теме. Исходные данные в СSV файлах с количеством записей от 5 000 до 1 000 000 в каждом. Изначально нужно...

Как организовать хранение паролей от mysql?
дело в том что не как не могу сообразить организовать программу. то есть при первом запуске программа должна попросить пароль от mysql и...

Как лучше хранить небольшие (до 50 записей) и крупные до 600-1000 записей данные?
Разрабатываю первое собственное приложение. Стою перед архитектурным выбором, и не знаю что использовать. У более опытных ребят хочу...

Хранение паролей
Могут ли пароли хранится на сервере? Почему после удаления кеша и куки и очистки всех форм пароли на форме сайта остаются? Браузер FireFox...

Хранение паролей в БД
Всем привет. В рамках своего маленького дипломного проекта нужны предложения и советы от знатоков БД. Мой проект является локальной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru