https://github.com/bruno-anjos/rugenere
A simple vigenère cipher tool written in rust
https://github.com/bruno-anjos/rugenere
cipher crypto rust vigenere vigenere-cipher
Last synced: 3 months ago
JSON representation
A simple vigenère cipher tool written in rust
- Host: GitHub
- URL: https://github.com/bruno-anjos/rugenere
- Owner: bruno-anjos
- License: gpl-3.0
- Created: 2019-07-24T18:08:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-05T23:48:12.000Z (about 6 years ago)
- Last Synced: 2025-06-23T23:06:09.026Z (4 months ago)
- Topics: cipher, crypto, rust, vigenere, vigenere-cipher
- Language: Rust
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rugenere [](https://github.com/bruno-anjos/rugenere/blob/master/LICENSE)  
**rugenere** is a simple [vigenère](https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher) cipher tool written in rust. It can encode and decode text either from the standard input or a file. It can also write the output to a file.
### [crates.io](https://crates.io/crates/rugenere)
| **Branches** | **Build Status** |
|:--------:|:------------:|
| master |[](https://travis-ci.org/bruno-anjos/rugenere)|
| dev |[](https://travis-ci.org/bruno-anjos/rugenere)|## Installing
To install this tool just clone the git repository by running the following command (have in mind that this will clone the repository to your current directory).
```bash
> git clone https://github.com/bruno-anjos/rugenere.git
> cd rugenere
> cargo build --release
```## Examples
I made it easier to run this tool by creating a link to the binary in the target directory.
### help
Run **rugenere** with the `--help` to get helpful information
```bash
> ./rugenere --help
rugenere 1.0
Bruno Anjos
Vigenére cipher encoder and decoder.USAGE:
rugenere [OPTIONS] --modeFLAGS:
-h, --help Prints help information
-V, --version Prints version informationOPTIONS:
-i, --input file name to read content from
-m, --mode sets mode to encode or decode [possible values: encode, decode]
-o, --output file name to write content toARGS:
key used to encode or decode the content
```### encode
Run **rugenere** with the `m` flag set to `encode`
```bash
> ./rugenere TESTKEY -m encode
THis Is AN exaMPlE
Result: MLal Sw YG iptWTjX
```### decode
Run **rugenere** with the `m` flag set to `decode`
```bash
> ./rugenere TESTKEY -m decode
MLal Sw YG iptWTjX
Result: THis Is AN exaMPlE
```### with input file
Run **rugenere** with the `i` flag followed by the file name
```bash
> ./rugenere TESTKEY -m encode -i input_test
Result: MlAL sw hNWl tX IvTQheo
```### with output file
Run **rugenere** with the `o` flag followed by the file name
```bash
> ./rugenere TESTKEY -m encode -i input_test -o output_test
> cat output_test
MlAL sw hNWl tX IvTQheo
```## Built with
- [clap](https://clap.rs/) - rust library to parse CLI arguments
## Contributing
If you detect any bug or find any way to improve the code, please make a [pull request](https://github.com/bruno-anjos/rugenere/pulls) or submit an [issue](https://github.com/bruno-anjos/rugenere/issues).
## License
This project is licensed under the GNU License - see the LICENSE.md file for details