{"id":18593532,"url":"https://github.com/atiq-cs/passwordmanager","last_synced_at":"2025-05-16T10:34:45.104Z","repository":{"id":89133953,"uuid":"600189703","full_name":"atiq-cs/PasswordManager","owner":"atiq-cs","description":"Password Manager Command Line App","archived":false,"fork":false,"pushed_at":"2023-02-11T21:16:49.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-02-17T21:46:33.802Z","etag":null,"topics":["cpp","rijndael-aes-cipher","rijndael-algorithm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atiq-cs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-10T19:38:05.000Z","updated_at":"2023-02-10T19:58:17.000Z","dependencies_parsed_at":"2023-03-13T18:14:26.755Z","dependency_job_id":null,"html_url":"https://github.com/atiq-cs/PasswordManager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atiq-cs%2FPasswordManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atiq-cs%2FPasswordManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atiq-cs%2FPasswordManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atiq-cs%2FPasswordManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atiq-cs","download_url":"https://codeload.github.com/atiq-cs/PasswordManager/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254513241,"owners_count":22083534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","rijndael-aes-cipher","rijndael-algorithm"],"created_at":"2024-11-07T01:12:49.318Z","updated_at":"2025-05-16T10:34:45.081Z","avatar_url":"https://github.com/atiq-cs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Password Manager\nPassword Manager Command Line App, previously named 'CredMan' or 'Credentials Manager'.\n\n### Introduction\nThe purpose of this software is to encrypt and decrypt confidential user data, efficiently manage storing and retrieval of this information.\n\n#### Data Structure\nCurrent record data structure has following fields,\n\n```cpp\nstring siteURL;\nstring tags;\nstring regEmail;\nstring userName;\nstring password;\n```\n\n**Encoding**\nThe program reads the input file in binary mode and writes in bianry mode.\n\n```cpp\nifstream inFile (\"pw.bin\", ios::binary);\n```\n\nHence, the output file cannot be opened using regular text editor. We could essential implement a text mode writing to help read/write easier as per the trick in Supplement.\n\n**Build**  \nGeneral console instructions apply. It is an MBCS project without requiring additional OS Specific libraries to link.\n\n**Current status of this Project**  \n- It can encrypt and decrypt confidential data.\n- We can enable or disable encryption and decryption as required.\n- Modify take user choice function.\n  - When a user mistakenly enters a couple of characters a.k.a string instead of a single character as choice. They should be asked to provide correct input.\n- Add records\n- Show/Search records\n\nDue to modify/delete not being implemented yet we resort to a trick \\(mentioned in [Supplement](https://github.com/atiq-cs/PasswordManager/blob/dev/Supplement.md)\\) to modify an entire database file.\n\n**Features TODO**  \nOn top of mind,\n- Modify records\n- Delete records\n- The process of manual modification to database (disabling encryption to get plain text for modifying) should be implemented to be supported via command line.\n- Import/export option, backup option.\n  - along with export to csv that allows direct import into bitwarden vault.\n- Take backup during deleting records till its well tested.\n- Security feature: change key and keep only one back up\n\n#### Q\u0026A\nQ: Enter key on startup but this can be risky as well. What's best for now?  \nAns: Use SSL and retrieve the key from a secure site.  \n\nQ: If someone gets the software they can easily access the software as mine.  \nAns: Verify PC with MAC access. Update MAC address from time to time.\n\n**Plans Discarded for now**  \n- Change on data structure: instead of siteURL there should be two members: site and loginURL. \n- No siteURL stays the same: use loginURL on site when applicable. Put site name on title\n- If an account has multiple credential keys store them separating using semicolon\n- It should ask for password once in every five minutes; if the call is from powershell probably we ask only once for a session.\n  - For some accounts, passwords will always be asked… such as bank accounts and master accounts.\n\nEvery month we run this,\n\n    $ PassMan CreateBackup\n\nThis should give us a file and a key.\n\nGuidelines\nKeys will not reside in plain text files. Backup dbs should be stored in protected vaults…\nBackups must not be stored in regular accounts.\n\nCreate plain-text database export,\n\n    $ PassMan Export\n\nref, previous binary name: CredMan\n\nBe cautious aboue the plain text export.\n\nref, Credentials Manager Software doc, 2014-06\n\n\n**Refs**  \n- Initial driver/demo of Rijndael is in [Supplement](https://github.com/atiq-cs/PasswordManager/blob/dev/Supplement.md).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatiq-cs%2Fpasswordmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatiq-cs%2Fpasswordmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatiq-cs%2Fpasswordmanager/lists"}