Простой генератор паролей. Привет всем! Представляю программу SimPaGen, которая является несложным в использовании, небольшим и очень удобным приложением для создания паролей. Написанная на ФАСМе утилита облегчает процесс создания надёжных паролей используемых для доступа к форумам, почтовым ящикам и другим сайтам. Вот короткая демонстрация приложения в работе: Создающиеся пароли состоят из символов любой комбинации четырёх основных категорий: * буквы A, ..., Z, * буквы a, ..., z, * цифры 0, ..., 9, * символ подчёркивания '_' и других выбранных пользователем символов. Количество всех возможных непустых наборов знаков равно 2^224-1 (количество всех непустых подмножеств набора символов с шестнадцатеричными кодами от 0x20 до 0xFF). Максимальная длина созданного пароля равна 9999 символам. Созданный пароль можно скопировать в буфер обмена пользуясь кнопкой Кроме того, нажатие сочетания клавиш WIN + F12 даёт возможность создания нового пароля и немедленного помещения его в буфере обмена, даже когда окно приложения неактивно. Настройки программы определяющее длину пароля и набор составных символов создающихся паролей хранятся перед концом работы приложения в следующем подразделе системного реестра: HKEY_CURRENT_USER\Software\SimPaGen\<версия_программы> В приложении использованы функции CryptoAPI библиотеки 'advapi32.dll', благодаря чему созданная последовательность символов пароля является "криптографически случайной". Исходный файл содержит встроенные непосредственно данные иконки и манифеста. Программа является примером использования метода сабклассинга полей редактирования. http://mikhajduk.houa.org/SimPaGen/SimPaGenRU.zip - Здесь можно скачать приложение с исходником в кодировке UTF-8. Домашняя страница проекта: http://mikhajduk.houa.org/RU/SimPaGen.php Программа протестирована под Windows XP SP3.
надо бы такую, чтоб её раз настроить(обслужить), а потом чтоб по хоткею или там при щелчке по иконке в трее сгенеренный пасс добавлялся в клипборд.
Доступна новая версия программы SimPaGen. Добавления и изменения: [+] добавлена кнопка , которая копирует пароль из поля редактирования программы в буфер обмена, [+] добавлено сочетание клавиш WIN + F12, которое применяется для создания нового пароля и помещения его в буфере обмена (сочетание работает тоже если окно приложения неактивно), [+] добавлена возможность записывания текущих настроек программы (длина пароля и набор составных символов создающихся паролей) в системном реестре, [x] упрощены и исправлены операции касающиеся таблицы определяющей характеристическую функцию набора знаков создающихся паролей. Ссылки на обновленную версию приложения находятся в первом посте этого топика.
попробуй еще мой генератор паролей =))) ник фронт ру Этот генератор не использует календарное время и Randomize как и датчики псевдослучайных чисел, истинно-случайные байтики сами-собой набегают в буффер... А потом еще с них для верности сымается SHA1.
Брат Микола, вот тебе еще одно доказательство, шо 0.9999...=1 Действительно, 0.9999...=3*0.3333...=3*1/3=1 Покруче, покруче твоего доказательства будет =)))
x0man Комменты в сорцах в кодировке UTF-8 (я об этом предупреждал). Советую русский редактор UniRed или чешский PSPad (которым я пользуюсь вместо оригинального IDE ФАСМа). Браток persicum, ты забыл, что надо тогда доказать "очевидное" равенство 1/3 = 0,33333... = 0,(3). Тогда твоё доказательство длиннее, длиннее будет.
Ну с этим не будет спорить ни одна живая душа =))) Представление в виде десятичной дроби у дроби 1/3 единственное. Возьми калькулятор Виндовз и проверь приближенно... Помню, как только я в третьем классе научился делить в столбик, меня поразило, что деление 10 на 3 превращается в бесконечный процесс... Ну лана, вот тебе доказательство что 0.3333...=1/3 без привлечения геометрический прогрессии. 0.(3)=3/9=1/3 Кста, таким же макаром 0.(9)=9/9=1 Усек наконец? И никаких прогрессий =))) А бесконечная прогрессия - это ведь тоже частный случай предела... Доказывать что 0.9999... в пределе равно 1 через пределы это не наглядно. Кто не верит в это тождество, почему должен верить в существование предела? Про Ахиллеса и Черепаху помнишь? Если человек не верит, что девятки в бесконечности достигнут целое, то он может усомниться, почему можно отбросить 1/10 в степени бесконечность, кто дал право, это разве точный ноль? Нужно понимать, что формула для суммы бесконечно убывающей геометрической прогрессии приближенная с точностью до бесконечно малых высоких порядков. Куда дели q^n из точной формулы? Мои методы доказательства предельного перехода не требуют, а требуют только несколько первых членов бесконечных дробей и абстракцию бесконечной осуществимости процесса.
* При установленной галочке наличие символов за которые она отвечает в пароле не гарантируется. * В коде слишком много комментариев * Использование UTF8 не оправдано * Иконки встроенные в программу только замусоривают исходник * Зачем для новой версии программы новый набор ключей в реестре? PS: Ктонибуть водел пароли в 9999 символов?
Ну это не страшно, ну не гарантируется, но ведь они просто допускаются... Хотя это обстоятельство может сузить необходимое пространство поиска перебором. Например, заказывали спецсимвол, а его там и нет. Надо будет подправить свою прогу тоже на это обстоятельство. С другой стороны, это актуально только для коротких паролей, а для длинных разнообразные символы сами набегают. А че это мой прог никто не обсуждает? Какая-то cryptolib.dll высасывает из себя 2^224 каких то паролей... А откудова Seed берется? вот в моей проге пароли абсолютно случайны и возникают в результате стохастических биений... А Seed вообще никакой не нужен, ни от времени, ни от мышки, ни от картинки на экране, никакой источник внешней энтропии не нужен, нету у меня в проге Seed'a, потому как и псевдослучайных чисел для которых он был бы нужен тоже нету!
Использование UTF-8 оправдано, потому что я в ежедневной деятельности пишу на трёх языках. Ты видел такую кодировку (не Юникод) в которой одновременно встречается польские и русские буквы и всё есть ОК? Комменты в сорцах - это был для меня способ узнать русские и английские технические выражения. Остальные твои замечания это твоё личное дело. Программа не нравится - просто не пользуйся ей. Браток persicum ты вообще знаешь что это такое "доказательство"? Мне кажется, что нет. То, что ты представил это не доказательство - это шутка какая-то.
Слишком много комментариев. Не совсем понял, зачем переопределять оконную функцию EDITов. Есть же флаги ES_READONLY и ES_NUMBERS. Вот мой генератор (masm32). Без изощрений с CryptoAPI пароль генерится с помощью RDTSC. Можно использовать латинские большие и маленькие буквы, цифры и спецсимволы. Длина от 4 до 20 символов. Настройки запоминаются в реестре. Имеется параметр командной строки -gen -- пароль генерится автоматом при запуске, копируется в буфер и программа завершается. http://slil.ru/26227957
Подправил свой генератор с учетом этого пожелания. Но тут возможны траблы. Так, если в группе СПЕЦСИМВОЛЫ стоит только лишь один "_", то вероятность его появления среди прочих цифр и букв мала... Пока не нашел достойного решения этой проблемы. Сам генератор требует заметного времени даже на генерацию одного пароля, посколько пароль истинно-случаен. http://slil.ru/26228339 Брателло, тебе хто дал право применять приближенную формулу для геометрической прогрессии? Ты "доказал" тавтологию!!! 0.9999... = 0.9(1-0.1^n)/0.9 = 1 - 0.1^n То есть ты доказал, что дробь 0.9999... настолько не достигает единицы насколько она недостает единицу сверху. Почитай историю развития дифференциального исчисления, греки, ньютон-лейбниц и т.д. По свойствам периодических дробей имеем, 0.(xx...x)=xx...x/99...9 Так шо это не шутка, 0.(9)=9/9=1 - второе замечательное доказательство 0.(9)=3*0.(3)=3*1/3=1 - первое замечательное доказательство
Классная вещь! Не то что Шестые Дельфы у меня... =))) Но только не реализовано замечание к обязательному использованию всех возможных символов если стоят галки, что ослабляет пароль.
А по вашему случайные байтики можно набрать только из криптопроцессора или звуковой карты? =))) По идеологии прога близка к RDTSC, хотя асм и тем более отладочные регистры не используются, а просто RDTSC имитируется на языке высокого уровня.
persicum Твои словно-калькуляторно-интуитивные "доказательства" имеют столько общего с действительными формальными доказательствами, сколько имеет обычная бухгалтерия с высшей математикой. Ты смешной, потому что "моё" доказательство (использование бесконечных геометрических прогрессий) хорошо известно уже с XVIII столетия и происходит от самого Леонарда Эйлера (год 1770, «Начала алгебры», англ. "Elements of Algebra") и, в самом деле, ты атакуешь самого Эйлера. Ты мог бы об этом прочитать хотя бы здесь: http://en.wikipedia.org/wiki/0.999... (если б ты знал английский, конечно...). Вот помещаю сброс экрана фрагмента выше примененной страницы из Википедии, на котором все могут увидеть, о чём речь идёт: Так вот тебе persicum надо ещё много учиться математике... Кроме того надо тебе узнать как правильно вести себя, потому что сейчас ты очень уверен в себя ламер.
Эка ты хватил, предел бесконечной прогрессии умели находить еще математики древности =))) Задача то была не в том, чтобы применяя аппарат высшей математики найти предел, то есть в сущности показать что числовая последовательность 0.9, 0.99, 0.999 и т.д. не может превысить единицу. Задача была показать этот факт недалеким пацанам на пальцых, наглядно так сказать.