{"id":20408211,"url":"https://github.com/hashlag/genc","last_synced_at":"2025-07-12T13:08:10.391Z","repository":{"id":152629017,"uuid":"617436409","full_name":"hashlag/genc","owner":"hashlag","description":"Command line file encryption tool in GoLang","archived":false,"fork":false,"pushed_at":"2023-09-02T15:45:44.000Z","size":10940,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T02:32:45.916Z","etag":null,"topics":["cryptography","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hashlag.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-03-22T11:48:18.000Z","updated_at":"2023-07-18T09:24:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"40cde186-e399-43e3-bb52-52ce626812f3","html_url":"https://github.com/hashlag/genc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hashlag/genc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashlag%2Fgenc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashlag%2Fgenc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashlag%2Fgenc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashlag%2Fgenc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hashlag","download_url":"https://codeload.github.com/hashlag/genc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashlag%2Fgenc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264995611,"owners_count":23694995,"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":["cryptography","golang"],"created_at":"2024-11-15T05:29:23.127Z","updated_at":"2025-07-12T13:08:10.374Z","avatar_url":"https://github.com/hashlag.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GENC — CLI file encryption tool\n\nGENC is a command line file encryption tool written in GoLang. It provides strong encryption via AES-256, integrity verification via HMAC-SHA512 and uses PBKDF2 SHA-512 (1 048 576 iterations, 384 bit salt) to derive keys from passwords.\n\n## Screenshot\n\n![screenshot](https://raw.githubusercontent.com/hashlag/static/main/genc/genc.gif)\n\n## Features\n\n- Single file encryption/decryption\n- Recursive directory encryption/decryption\n- Integrity verification\n- Optional additional prompting to hide passwords from command line history (enabled by default)\n- Optional autodeletion of original files after encryption/decryption\n- Compact size `~3MiB`\n- Low RAM consumption\n- Сross-platform\n\n## Installation\n\nGENC pre-compiled binaries are stored in `bin/` and do not require installation. Just copy the suitable binary to any directory you want. You're ready to go!\n\nDirect links to binaries:\n\n- [Windows x64](https://github.com/hashlag/genc/raw/main/bin/genc-win-amd64.exe)\n- [Windows x32](https://github.com/hashlag/genc/raw/main/bin/genc-win-386.exe)\n- [Linux x64](https://github.com/hashlag/genc/raw/main/bin/genc-linux-amd64)\n- [Linux x32](https://github.com/hashlag/genc/raw/main/bin/genc-linux-386)\n\n## Compilation from source\n\n1. Make sure you have GoLang installed\n2. Clone the repository via `git clone https://github.com/hashlag/genc`\n3. Navigate to the project directory\n4. Build GENC using `go build .`\n5. Try it by running the resulting binary with the `-h` flag!\n\n## Usage\n\n### Encrypting a single file\n\n```\ngenc -m E -t file_to_encrypt.txt\n```\n\nThen you will be asked for a password.\nAfter successful encryption GENC will print something like this:\n\n```\nEncryption succeeded.\nfile_to_encrypt.txt --\u003e file_to_encrypt.txt.genc\n```\n\nYou can also use `-d` to delete `file_to_encrypt.txt` after encryption.\n\n### Decrypting a single file\n\n```\ngenc -m D -t file_to_decrypt.txt.genc\n```\n\nYou will be asked for a password.\nOutput will be like:\n\n```\nDecrypted.\nfile_to_decrypt.txt.genc --\u003e file_to_decrypt.txt\n```\n\n### Encrypting/decrypting a directory\n\nThere are no special command line flags for directory encryption.\nJust pass a directory as a target. GENC is able to distinguish a directory from a file by itself.\n\n```\ngenc -m E -t directory_to_encrypt\n```\n\nand to decrypt:\n\n```\ngenc -m D -t directory_to_encrypt\n```\n\n### Autodelete\n\nYou can use `-d` flag to delete original files after encryption or encrypted ones after decryption.\n\n### Passing password as a command line flag\n\n**Unsafe since password may remain in the command line history.**\n\n```\ngenc -m E -t file.txt -p password\n```\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](https://raw.githubusercontent.com/hashlag/genc/main/LICENSE) file for details.\n\n## Third-Party Libraries\n\nThis project uses:\n- [prompter](https://github.com/Songmu/prompter) library by [Songmu](https://github.com/Songmu), which is licensed under the MIT License.\nSee [the library's LICENSE](https://raw.githubusercontent.com/Songmu/prompter/main/LICENSE) file for details.\n- [go-isatty](https://github.com/mattn/go-isatty) library by [Yasuhiro MATSUMOTO](https://github.com/mattn), which is licensed under the MIT License.\nSee [the library's LICENSE](https://raw.githubusercontent.com/mattn/go-isatty/master/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashlag%2Fgenc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashlag%2Fgenc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashlag%2Fgenc/lists"}