caesar-breaker

Version, currently master branch1 version
  • master branchlatestFeb 16, 2018

github.com/hugoabonizio/caesar_cipher_breaker

Automatic Caesar's cipher breaker written in Crystal

6 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  caesar-breaker:
    github: hugoabonizio/caesar_cipher_breaker
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.23.1
License
MIT
Author
Hugo Abonizio <hugo_abonizio@hotmail.com>
Target
  • caesar_cipher_breaker from src/caesar_cipher_breaker.cr

Dependencies

This version declares no dependencies.

README

# Caesar Cipher Breaker [![Build Status](https://travis-ci.org/hugoabonizio/caesar_cipher_breaker.svg?branch=master)](https://travis-ci.org/hugoabonizio/caesar_cipher_breaker)

> Caesar cipher automatic breaker (_brute force_)

## Installation

```
git clone --depth 1 https://github.com/hugoabonizio/caesar_cipher_breaker.git
cd caesar_cipher_breaker
make build
sudo make install
```

## Usage

#### Finding cipher's key by brute force

```bash
$ caesar-breaker pmttw
Key: 8
Decoded: hello
Entropy: 4.003738725866233

$ caesar-breaker "wx, bn cpbt xh Wjvd"
Key: 15
Decoded: hi, my name is Hugo
Entropy: 4.370609093583495
```

#### Encoding a string

```bash
$ bin/caesar-breaker --encode 15 "hi, my name is Hugo"
wx, bn cpbt xh Wjvd
```

#### Decoding a string

```bash
$ bin/caesar-breaker --decode 8 pmttw
hello
```

## Contributing

1. Fork it ( https://github.com/hugoabonizio/caesar_cipher_breaker/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request

## Contributors

- [hugoabonizio](https://github.com/hugoabonizio) Hugo Abonizio - creator, maintainer