Введение
Хотел давно написать простенький парольный менеджер на C#, но было очень лень его вспоминать. Самые первые модели ChatGPT выдавали не работающий код, но несколько дней назад ChatGPT выдал практически идеально работающий код, правки были минимальны. Приложу ссылку на GitLab.
Первый запуск
При первом запуске будет запрос на создание мастер пароля, также этот мастер пароль будет выступать в роле ключа шифрования + дополнительно будет использоваться «соль» для более надёжного шифрования. Перед сборкой «соль» можно будет изменить, в таком случаи для того что бы расшифровать пароли необходим не только мастер пароль но и само приложение (приложение можно таскать с собой на зашифрованной «флешке», если совсем параноить), так как в собранном экземпляре «соль» будет отличаться от той что в исходном коде (файл Helpers\AESHelper.cs, S@ltValue1 234 567). Все пароли хранятся в реестре (\HKEY_CURRENT_USER\Software\PasswordManager) текущего пользователя в зашифрованном виде (одинаковые пароли выглядят в зашифрованном виде по разному).

После создания мастер пароля будет произведён запуск основного окна приложения, но предварительно будет запрошен (как и при любом последующем запуске) мастер пароль.
Основное окно приложения

В основном окне можно добавлять связки логина и пароля (количество не ограничено, если только ограничится размером переменной), копировать любой элемент, удалить созданные связки, показать пароль. После добавления связки логина и пароля необходимо нажать кнопку «Сохранить». После смена мастер пароля все пароли будут перешифрованы.
Генератор паролей

Присутствует генератор паролей, сгенерировать пароли возможно от 8 и до 128 символов (также всё это меняется в исходном коде).
После закрытия приложения остаётся значок в системном (полностью приложение закрывается из системного трея) «трее», при вызове приложения из системного «трея» необходимо повторно ввести мастер пароль.
Сборка
Для сборки приложения необходимо установить Visual Studio Community 2022, а также .net Framework 8.0, на Intel Core i5 12400 сборка происходит за несколько секунд.

Ссылка на исходный код
Заключение
Очень простое и удобно решения для хранения паролей, активно использую на работе для срытия паролей при «шаринге» экрана и взглядов из за спины :-)
Комментарии (6)
pnmv
27.05.2025 23:39пишите, сразу, с помощью cursor ide, раз уж так жаждете централизованного слива всего, чего только можно слить.
AcckiyGerman
27.05.2025 23:39Я еще понимаю смысл писать свой велосипед в целях обучения. Но чему же вы научитесь, если код пишут за вас? Собирать проект?
netmaniac
27.05.2025 23:39>приложение можно таскать с собой на зашифрованной «флешке», если совсем параноить
>Все пароли хранятся в реестре (\HKEY_CURRENT_USER\Software\PasswordManager) текущего пользователя
Очень портабельное и безопасное решение.
Похоронить сразу все свои пароли с падением системы или оставить пароли в реестре на чужом компе и уйти с "чистой" флешкой. С таким подходом можно сразу в своп писать или в /tmp
Oleg_87
27.05.2025 23:39Все пароли хранятся в реестре
Т.е. после переустановки ос можно попрощаться со всеми паролями и между устройствами их никак не перенести?
codecity
А зачем писать, если с аналогичным функционалом уже есть готовый открытый код KeePass на том же C#? Причем, согласитесь, намного удобнее.
Тут видите какая штука. Вроде GPT может что-то написать. Только нафиг? Уже и так все это написано.
Придумать что-то поистине полезное, что бы еще не было сделано в 100500 разных опенсорсных вариантах - та еще задача.
Вот тот же Илон Маск писал что школьник сделал игру за 2 часа с GPT (без умения программировать) и уже заработал миллионы долларов на ней. Но реально посмотреть - фигня игра, таких же авиа-симуляторов пруд пруди в браузере бесплатных, причем качеством получше значительно. Так что даже если он и заработал миллионы, то на хайпе - это типа как в лотерею выиграл. А больше успешных историй и не слышал. Да и этой не особо верю.