{"id":21682286,"url":"https://github.com/basilgello/cryptopass","last_synced_at":"2025-03-20T11:14:25.318Z","repository":{"id":139022276,"uuid":"262145970","full_name":"basilgello/cryptopass","owner":"basilgello","description":"A CLI utility for generating long, unguessable passwords","archived":false,"fork":false,"pushed_at":"2020-05-30T21:58:39.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-25T11:26:44.035Z","etag":null,"topics":["cli-utility","cryptopass","password","password-generator"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basilgello.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":"2020-05-07T19:57:35.000Z","updated_at":"2020-05-30T21:58:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"589e65ce-cb1e-474c-937a-75c30e0e1ec7","html_url":"https://github.com/basilgello/cryptopass","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilgello%2Fcryptopass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilgello%2Fcryptopass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilgello%2Fcryptopass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilgello%2Fcryptopass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basilgello","download_url":"https://codeload.github.com/basilgello/cryptopass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244600724,"owners_count":20479307,"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":["cli-utility","cryptopass","password","password-generator"],"created_at":"2024-11-25T15:34:50.434Z","updated_at":"2025-03-20T11:14:25.299Z","avatar_url":"https://github.com/basilgello.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cryptopass\nA CLI utility for generating long, unguessable passwords.\n\nProgram generates the password from:\n\n * Login (be it email, login, user ID... up to 127 bytes long),\n * Domain name of the resource where password is generated for,\n * Password length (1-32, default 25)\n * Master password\n\nusing 5000 iterations of PKDBF2-SHA256 algorithm.\n\n## Features\n\n * Compatible with reference Cryptopass implementation (see \"Prior Art\")\n * Coded in pure C99 as console application\n * Does not require OpenSSL or any other third-party libraries\n * Can be compiled statically on any OS, including Android\n\n## Prior art\n\n * [Original Chrome extension](https://chrome.google.com/webstore/detail/cryptopass/hegbhhpocfhlnjmemkibgibljklhlfco)\n * [Android port on F-Droid](https://f-droid.org/en/packages/krasilnikov.alexey.cryptopass/)\n * [C++ port by nikp123](https://github.com/nikp123/cryptopass)\n\n## Used components\n\n * [Base64 encoder / decoder by Jouni Malinen](https://github.com/NS-K/hostapd/blob/master/src/utils/base64.c)\n * [fastpbkdf2 by Joseph Birr-Pixton](https://github.com/ctz/fastpbkdf2/tree/no-openssl)\n\n## Usage\n\nTo invoke Cryptopass with all parameters, type:\n\n```\ncryptopass login domain.com 25\n```\n\nor just\n\n```\ncryptopass\n```\n\nto interactively specify the required information.\n\n**NOTE: Master password (the password using to derive the application passwords) CAN NOT be specified on command-line! The user is expected to type it interactively!**\n\n## Best practices on using Cryptopass\n\n1. Consider using long passphrase (\u003e30 letters, numbers, special chars) as master password. \n2. Do not use your master password anywhere else! Use it only for Cryptopass\n3. Do not re-use the application passwords on different websites! Generate new password for every login on every resource!\n4. Keep the master password safe and backed up. Also, it is good to keep the list of logins and domains along with the master passwords. The passwords generated by Cryptopass should NOT be remembered!\n5. If the remote resource becomes breached, re-generate the password for that resource immediately and change the passwords as requested by resource owners.\n\nAnd finally:\n**Treat your passwords like underwear. Change them often and don’t share them with anybody!**\n\n## Building\n\n1. Clone the repository with Git:\n\n    ```\n    git clone https://github.com/basilgello/cryptopass\n    ```\n\n    or download the [master snapshot](https://github.com/basilgello/cryptopass/archive/master.zip) from Github if Git is not installed.\n\n2. Build Cryptopass\n\n    On POSIX-compliant operating systems supporting GNU Autotools, the build process is straghtforward:\n\n    ```\n    cd cryptopass\n    autoreconf --install\n    ./configure\n    make\n    make check\n    make install\n    ```\n\n    To create static builds, do:\n\n    ```\n    cd cryptopass\n    autoreconf --install\n    ./configure\n    make LDFLAGS=\"-static\"\n    make check LDFLAGS=\"-static\"\n    make install\n    ```\n\n    On systems with no GNU Autotools, build is also simple:\n\n    ```\n    gcc \\\n        -s -static \\\n        -o cryptopass-static \\\n        -DFASTPBKDF2_NOASM \\\n        -DHAVE_TERMIOS_H \\\n        -DNO_CONFIGURE_BUILD \\\n        -I lib/ \\\n        src/cryptopass.c \\\n        lib/libcryptopass/libcryptopass.c \\\n        lib/fastpbkdf2/fastpbkdf2.c \\\n        lib/base64/base64.c\n    ```\n\nTo create static builds for Android:\n\n * Download [Android NDK](https://developer.android.com/ndk/downloads)\n * Export path to NDK root as `NDK` environment variable, e.g:\n\n   ```\n   export NDK=/path/to/NDK/root\n   ```\n\n * Compile the binary executable:\n\n   ```\n   cd cryptopass\n\n   $NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi16-clang \\\n        -s -static \\\n        -o cryptopass-armv7a-androideabi \\\n        -DFASTPBKDF2_NOASM \\\n        -DHAVE_TERMIOS_H \\\n        -DNO_CONFIGURE_BUILD \\\n        -I lib/ \\\n        src/cryptopass.c \\\n        lib/libcryptopass/libcryptopass.c \\\n        lib/fastpbkdf2/fastpbkdf2.c \\\n        lib/base64/base64.c\n\n   $NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang \\\n        -s -static \\\n        -o cryptopass-aarch64v8a-androideabi \\\n        -DFASTPBKDF2_NOASM \\\n        -DHAVE_TERMIOS_H \\\n        -DNO_CONFIGURE_BUILD \\\n        -I lib/ \\\n        src/cryptopass.c \\\n        lib/libcryptopass/libcryptopass.c \\\n        lib/fastpbkdf2/fastpbkdf2.c \\\n        lib/base64/base64.c\n    ```\n\n## Contributing\n\nContributions are welcome in form of Github pull requests (PRs).\n\n## License\n\nThis program is licensed under Apache License 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilgello%2Fcryptopass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasilgello%2Fcryptopass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilgello%2Fcryptopass/lists"}