{"id":16908289,"url":"https://github.com/jmg-duarte/rot","last_synced_at":"2025-03-20T17:26:45.993Z","repository":{"id":109523965,"uuid":"198479362","full_name":"jmg-duarte/rot","owner":"jmg-duarte","description":"🔪 Caesar Cipher CLI Tool 🔏","archived":false,"fork":false,"pushed_at":"2019-07-29T20:23:28.000Z","size":220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-25T16:13:24.775Z","etag":null,"topics":["caesar-cipher","cipher","cryptography","rot","rot13","rotation","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/jmg-duarte.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":"2019-07-23T17:36:22.000Z","updated_at":"2019-07-29T20:23:30.000Z","dependencies_parsed_at":"2023-04-13T22:50:22.415Z","dependency_job_id":null,"html_url":"https://github.com/jmg-duarte/rot","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/jmg-duarte%2Frot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmg-duarte%2Frot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmg-duarte%2Frot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmg-duarte%2Frot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmg-duarte","download_url":"https://codeload.github.com/jmg-duarte/rot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244659004,"owners_count":20489076,"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":["caesar-cipher","cipher","cryptography","rot","rot13","rotation","rust"],"created_at":"2024-10-13T18:50:54.690Z","updated_at":"2025-03-20T17:26:45.972Z","avatar_url":"https://github.com/jmg-duarte.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rot\n\n__*rot*__ is a command-line utility to cipher and decipher text using the [Caesar Cipher](https://en.wikipedia.org/wiki/Caesar_cipher).\n\n## Note\n\nUsing equals with options is required, otherwise `rot` may crash. \nThis is due to the lack of support of the YAML configuration ([this is fixed in `clap` 3.0.0](https://github.com/clap-rs/clap/issues/1426))\n\n## Usage\n\n### Encrypt a simple phrase\n\n```bash\n$ rot -c=13 \"The troops are dead\"\n\nGur gebbcf ner qrnq\n```\n\n### Decrypt a simple phrase\n\n```bash\n$ rot -d=13 \"Gur gebbcf ner qrnq\"\n\nThe troops are dead\n```\n\n### Try multiple combinations\n\n#### Encrypt\n\n```bash\n$ rot -c=3,5,7,13 \"The troops are dead\"\n\nWkh wurrsv duh ghdg\nYmj ywttux fwj ijfi\nAol ayvvwz hyl klhk\nGur gebbcf ner qrnq\n```\n\n#### Decrypt\n\n```bash\n$ rot -d=3,5,7,13 \"Gur gebbcf ner qrnq\"\n\nDro dbyyzc kbo nokn\nBpm bzwwxa izm lmil\nZnk zxuuvy gxk jkgj\nThe troops are dead\n```\n\n### Output to a file\n\n```bash\n$ rot -c=13 -o=output.txt \"The troops are dead\"\n\n$ cat output.txt\n\nGur gebbcf ner qrnq\n```\n\n### Read from a file\n\n```bash\n$ rot -d=13 -f output.txt\n\nThe troops are dead\n```\n\n### Read from `stdin`\n\n```bash\n$ echo \"The troops are dead\" | rot -c=13 # implicit\n\nGur gebbcf ner qrnq\n\n$ echo \"The troops are dead\" | rot -c=13 --stdin\n\nGur gebbcf ner qrnq\n```\n\n### Execute a blind brute force attack\n\n```bash\n$ rot -b \"Gur gebbcf ner qrnq\"\n\nFtq fdaabe mdq pqmp\nEsp eczzad lcp oplo\nDro dbyyzc kbo nokn\nCqn caxxyb jan mnjm\nBpm bzwwxa izm lmil\nAol ayvvwz hyl klhk\nZnk zxuuvy gxk jkgj\nYmj ywttux fwj ijfi\nXli xvsstw evi hieh\nWkh wurrsv duh ghdg\nVjg vtqqru ctg fgcf\nUif usppqt bsf efbe\nThe troops are dead # ( ͡° ͜ʖ ͡°)\nSgd sqnnor zqd cdzc\nRfc rpmmnq ypc bcyb\nQeb qollmp xob abxa\nPda pnkklo wna zawz\nOcz omjjkn vmz yzvy\nNby nliijm uly xyux\nMax mkhhil tkx wxtw\nLzw ljgghk sjw vwsv\nKyv kiffgj riv uvru\nJxu jheefi qhu tuqt\nIwt igddeh pgt stps\nHvs hfccdg ofs rsor\n```\n\n### Getting help\n\n```bash\n$ rot --help\n\nrot 0.2.0\nJosé Duarte \u003cjmg.duarte@campus.fct.unl.pt\u003e\n\nUSAGE:\n    rot [FLAGS] [OPTIONS] [--] [input]\n\nFLAGS:\n    -b, --brutef     Brute force all possible rotations\n    -h, --help       Prints help information\n        --stdin      Read input from \"stdin\"\n    -V, --version    Prints version information\n\nOPTIONS:\n    -c, --cipher \u003ccipher\u003e...        Cipher input with the given rotation(s)\n    -d, --decipher \u003cdecipher\u003e...    Decipher input with the given rotation(s)\n    -f, --file \u003cfile\u003e               Read [input] as a file\n    -o, --output \u003coutput\u003e           Define an output file\n\nARGS:\n    \u003cinput\u003e    Text to (de)cipher\n```\n\n## Contributing\n\nIf you see a bug in the code, or want to add a feature, submit an [issue](https://github.com/jmg-duarte/rot/issues/new) or a pull request!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmg-duarte%2Frot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmg-duarte%2Frot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmg-duarte%2Frot/lists"}