{"id":25469900,"url":"https://github.com/thinkphp/caesar-cipher","last_synced_at":"2025-10-24T13:53:26.761Z","repository":{"id":270479455,"uuid":"910506770","full_name":"thinkphp/caesar-cipher","owner":"thinkphp","description":"This Rust application reads a text from an input file, applies the Caesar cipher encoding algorithm, and writes the encoded text to an output file. The shift value for the cipher can be customized via command-line arguments.","archived":false,"fork":false,"pushed_at":"2025-01-08T11:44:24.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-17T14:42:20.225Z","etag":null,"topics":["algorithms","caesar-cipher","cryptography","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinkphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-12-31T13:18:34.000Z","updated_at":"2025-01-08T11:45:12.000Z","dependencies_parsed_at":"2025-02-18T08:32:41.899Z","dependency_job_id":"f20eb6b9-0a83-4b29-b92f-65ebd81811c8","html_url":"https://github.com/thinkphp/caesar-cipher","commit_stats":null,"previous_names":["thinkphp/caesar-cipher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thinkphp/caesar-cipher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkphp%2Fcaesar-cipher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkphp%2Fcaesar-cipher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkphp%2Fcaesar-cipher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkphp%2Fcaesar-cipher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinkphp","download_url":"https://codeload.github.com/thinkphp/caesar-cipher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkphp%2Fcaesar-cipher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280806835,"owners_count":26394451,"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","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["algorithms","caesar-cipher","cryptography","rust"],"created_at":"2025-02-18T08:31:13.402Z","updated_at":"2025-10-24T13:53:26.724Z","avatar_url":"https://github.com/thinkphp.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Caesar Cipher Algorithm\n\nThis Rust application reads a text from an input file, applies the Caesar cipher encoding algorithm, and writes the encoded text to an output file. The shift value for the cipher can be customized via command-line arguments.\n\n## Features\n\n- Reads plaintext from a specified input file.\n- Writes encoded text to a specified output file.\n- Allows setting a custom shift value for the Caesar cipher.\n- Handles command-line arguments for flexibility.\n\n## Prerequisites\n\n- [Rust](https://www.rust-lang.org/) installed on your system.\n\n## Installation\n\nClone this repository and navigate to the project directory:\n\n```bash\ngit clone https://github.com/your-username/caesar-cipher.git\ncd caesar-cipher\n```\n\nBuild the project using `cargo`:\n\n```bash\ncargo build --release\n```\n\n## Usage\n\nRun the application from the command line:\n\n```bash\ncargo run -- \u003cinput_file\u003e \u003coutput_file\u003e \u003cshift\u003e\n```\n\n- `\u003cinput_file\u003e`: Path to the file containing plaintext.\n- `\u003coutput_file\u003e`: Path where the encoded text will be written.\n- `\u003cshift\u003e`: The number of positions to shift characters in the Caesar cipher.\n\n### Example\n\nSuppose you have a file named `input.txt` containing:\n\n```\nHello, World!\n```\n\nRun the application as follows:\n\n```bash\ncargo run -- input.txt output.txt 3\n```\n\nThe file `output.txt` will contain:\n\n```\nKhoor, Zruog!\n```\n\n## Error Handling\n\n- If the input file does not exist or cannot be read, the program will print an error message.\n- If the output file cannot be written, an appropriate error message will be displayed.\n\n## How It Works\n\n1. The program reads the text from the specified input file.\n2. Each character is shifted by the specified number of positions in the ASCII table:\n   - Alphabetic characters are shifted cyclically.\n   - Non-alphabetic characters remain unchanged.\n3. The encoded text is written to the output file.\n\n## Contributing\n\nContributions are welcome! Feel free to open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\nHappy coding! 🎉\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkphp%2Fcaesar-cipher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkphp%2Fcaesar-cipher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkphp%2Fcaesar-cipher/lists"}