Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
достаточно симпатично смотрится.
но точки в поле пароля это лишнее.
ну и много окон. пока составил одну запись аж в глазах замелькало все. ящики, окна . это , конечно, на любителя, но можно в самом окне редактирования добавлять запись. так быстрее, удобнее. все сразу видно. в принципе это даже сильно неудобно, когда нужно столько раз клацать чтобы изменить запись
справка на весь экран. даже панель задач закрывает. и в справке практически ничего нет. точнее , заканчивается на пункте Портативный режим. видно только одно предложение..
вопрос для интереса - что в библиотеках ? нельзя было реализовать через AutoIT?
Это было бы намного компактней в плане кусков кода GUI.
Зачем надо было в генераторе паролек делать функцию непрерывного генерирования Тогда уж надо было сделать так чтобы они попадали в список а не в Input и чтобы их можно было стереть.
Окно хелпа слишком большое на разрешении монитора 1024*768 GUI'ю будет мало.
Но прикольная программка подскажите на чём делали инсталляшку=)
Файл не сторонний, это по сути скомпилированный (пустой AutoIt3 скрипт, с дерективами Wrapper'а) Ну мне было удобнее оставить их в dll'ке.
Чуть по позже внесу некоторые изменения в программу :IL_AutoIt_1:
Кому что хотелось-бы увидеть в содержании справки? Жду Ваших предложений.
Зачем надо было в генераторе паролек делать функцию непрерывного генерирования Тогда уж надо было сделать так чтобы они попадали в список а не в Input и чтобы их можно было стереть.
Это сделано, например, для того, чтобы пользователь мог поставить интервал (например 2 сек), поставить на непрерывную генерацию и добавлять в список все, что ему покажется более привлекательным, а потом из списка выбрать лучший для себя вариант
Окно хелпа слишком большое на разрешении монитора 1024*768 GUI'ю будет мало.
это я видел. только раз отключаемо, то зачем? прогресс можно сделать в основном окне. в виде уведомления.
насчет редактирования лучше упростить. без дополнительных окон.
Если честно картинка "инициализация файлов базы" надоела мелькать, я думаю надо сделать без этих картинок ожидания, потому что, чтобы добавить запись сколько надо потратить времени на это ожидание (нажал на пункт->изменить->всё исчезло->ожидание-> появилось окно изменения->внёс изменение, нажал готово->ожидание. И так на каждый пункт). Плюс зачем при любом запросе скрываются все окна программы кроме этого запроса, а потом снова эта картинка инициализации и появляются все окна снова?
Если честно картинка "инициализация файлов базы" надоела мелькать, я думаю надо сделать без этих картинок ожидания, потому что, чтобы добавить запись сколько надо потратить времени на это ожидание (нажал на пункт->изменить->всё исчезло->ожидание-> появилось окно изменения->внёс изменение, нажал готово->ожидание. И так на каждый пункт). Плюс зачем при любом запросе скрываются все окна программы кроме этого запроса, а потом снова эта картинка инициализации и появляются все окна снова?
мелькание ящиков воплотить в строке прогресса или нечто подобное в окне программы. более солидно смотрится, ничего не мелькает и отключать ничего не надо.
или опять непонятно объяснил?
я сужу как пользователь. люблю узкоспециализированный софт. главное - эффективный функционал и удобство в управлении. окошки дело даже не третье, а далеко за десятое.
мелькание ящиков воплотить в строке прогресса или нечто подобное в окне программы. более солидно смотрится, ничего не мелькает и отключать ничего не надо.
Хм, мелькание ящиков не получится воплотить в строке прогресса, т.к. они появляются в том случае, когда программа считывает что-либо с базы, или наоборот, записывает что-либо в базу я это сделал, чтобы, если база будет содержать кучу записей, то соответственно расшифровка базы займет более времени, и чтобы пользователь не думал, что все зависло, а знал, что программа что-то делает - появляется "желтый сейф"
считывание и прочее можно видимо реализовать как угодно. это дело вкуса. по мне, так это мелькание не очень.
насчет защиты - ломать не пробовал да и не мое это
У меня несколько сотен элементов в базе, файл базы 12 кб, думаю шифрование будет происходить миллисекунды. Для теста попробуй шифровать файл 1 Мб с таймером.
У меня несколько сотен элементов в базе, файл базы 12 кб, думаю шифрование будет происходить миллисекунды. Для теста попробуй шифровать файл 1 Мб с таймером.
Позже попробую, просто я к тому это все говорю, что программа при входе в базу (при запросе пароля) запоминает пароль, если он подошел, а дальше напрямую работает с базой, при каждом просмотре/изменении записи она сначала расшифровывает отдельный файл базы, затем считывает из него информацию. Если это изменении записи, то расшифровка + чтение виртуального INI + запись виртуального INI, шифрование, запись файла самое долгое звено в этой цепочке (как я считаю) - это шифрование \ расшифровка, а на стареньких ПК (я думаю) это будет не столь быстро.
А чем Вам, уважаемые Гуру, не нравится вариант с отключением этого ящика в настройках?
Добавлено:
Сообщение автоматически объединено:
Если кому интересно, то вот что находится в файлах базы:
BD.pm = Информация о базе, ее имя, тестовый ключ проверки пароля (Start=1), ID компьютера, на котором был включен запрет на просмотр базы на другом ПК (если он был включен). Файл шифруется паролем пользователя.
BD.ai = Содержит информацию о алгоритме шифрования базы. Файл всегда (независимо от желания пользователя) шифруется одним и тем-же паролем, который хранится в программе. Файл содержит только 1 секцию и 1 ключ, в котором записано значение одной из констант алгоритмов шифрования.
BD.bk = Файл резервной копии, на случай, если вдруг что-либо случится с другими файлами. Шифруется одним и тем-же паролем, который записан в программе. Если вскрыть этот пароль, то можно увидеть, что внутри просто считанные зашифрованные файлы в Hex формате.
BD.ct = Содержит информацию о каталогах пользователя в виде: Категория=Описание. Шифруется паролем пользователя.
BD.pn=Указывает программе на то, какой пароль куда относится (к какой категории). Шифруется паролем пользователя.
BD.pd = Содержит логины, пароли (и т.д.) пользователя. Шифруется паролем пользователя.
это на каком? образца 2000 года? такие только в организациях остались. но там такой программой пользоваться не будут.
управление программой должно быть максимально эффективно и просто. это залог того, что ею будут пользоваться. а значит - постараться воплотить задуманное используя как можно меньше окон и лишних настроек. суть твоей программы - сохранить данные для входа на сайт\почту или что то другое в шифрованном виде.
достаточно три окна. основное, добавление, редактирование. весь прогресс идет в основном окне.
отточить работу полезного функционала, а красивости оставить на потом.
У меня процесс занимает миллисекунды, а на старом наверно доли секунды (для Password Commander). Делать анимацию, чтобы показать всем, что ты её сможешь сделать это не поле для "показать себя". Можно даже использовать строку состояния. Когда на офсайте делали "Desktop Locker" удивило что находились пользователи, которые делали разблокировку в виде полосы прогресса в течении например 3 сек, точно не помню сколько, создавая иллюзию сложности процесса разблокировки. Это обман пользователя и трата его времени. Так же и здесь, любой отвлекающий фактор пользователю не нужен.
На счёт алгоритма шифрования:
1. Я бы сделал как в "Password Commander",для каждого аккаунта свой файл базы. Допустим несколько человек пользуются программой, потом один из пользователей перезжает в другой офис и что он должен брать с собой базу аккаунтов всех пользователей? Нет, он должен взять свой аккаунт и ничего больше.
2. Зачем шифровать многократно базу? Шифруешь весь файл один раз, вернее все данные. Например мастер-пароль аккаунта является паролем для всей базы, и нет смысла хранить пароль внутри скрипта и до кучи шифровать ещё раз (медвежья услуга). При входе расшифровываешь файл и загружаешь в виртуальный ini. Далее работаешь в программе и сохраняешь либо при выходе из программы, либо через 10 сек после изменения данных. Создаёшь триггер модификации и при любом изменении переключаешь его в 1. Некая функция через 10 сек опросит триггер модификации и если он 1 то сохранить виртуальный ini в файл с однократным шифрованием.
3. Многократное шифрование не усиливает защиту ни на копейку, это просто холостой ход в чистом виде. Обычно на такие защиты есть более простой метод взлома - клавиатурный шпион и т.д. Так что маниакальная перестраховка результата не даёт. Вернее многократное шифрование усиливает, но уже после первого шифрования степень защиты настолько высока, что второй проход просто просто отнимает время повышая защищённость с 99% до 99,1%.