XML или sqlite. Простой текстовый формат, представленный выше, ограничит вас однострочным описанием или необходимостью придумывать собственные escape sequences. А когда вы решите эту проблему, у вас получится ещё один недо-XML (который не нужен).
Как-то давно пользовался тулзой KeePass — все записи хранились в одном файлике *.key. Было очень просто таскать его с собой повсюду.
Можете придумать какой-то свой формат: KATEГОРИЯ | ОПИСАНИЕ | ЛОГИН | ПАРОЛЬ. Хранить все в файле и шифровать его AES/Blowfish etc. Это самый простой способ.
Можно рассмотреть вариант с БД. Но так как вы пишете для себя и просто из интереса, думаю это излишне.
Я привык использовать tab-separated формат для подобных задач.
Раз хранятся чисто текстовые данные, то Вы правы — проще не придумать, да и шифровать просто.
А если вдруг захочется потренироваться на кошках и прикрутить, например, sqlite — то импорт/экспорт в текстовый файл с разделителями — уже решенная кем-то задача вообще для всех СУБД.
Я как-то писал для себя, также программу для хранения паролей.
MD5 и все остальное не использовал. Решил шифровать данные по Шифру Виженера.
Нужен только ключ и таблицу создать. Ну, а дальше не проблема.
Удачи в написании программы!
Шифр Виженера легко ломается, если использовать ключи много меньшие, чем длинна исходного текста. DES тоже уязвим. Рекомендую посмотреть в сторону IDEA, или шифраторов на основе LFSR (простой поточный шифр, ну или немецкая Энигма).