This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

A Python package and command line script for encoding, decoding and cracking messages with the Caesar Shift Cipher.

Table of Contents

Features

  • Encoding
  • Decoding
  • Cracking (decoding ciphertext without known offset)
  • Arbitrary cipher offsets
  • Command Line Interface
  • Test suite
  • Support for both Python 2 and 3
  • PEP8. Praise the Dark Lord

Installation

The latest version can be installed via pip.

$ pip install caesarcipher

If that doesn’t work, give easy_install a try:

$ easy_install caesarcipher

Usage

Command Line

Encoding a message:

$ caesarcipher --encode "This is a message I want to encode."

Encoding a message with a specific offset:

$ caesarcipher --offset 14 --encode "This is a message I want to encode."

Decoding a ciphertext with a specific offset:

$ caesarcipher --offset 14 --decode "W kobh hc sbqcrs hvwg ghfwbu."

Cracking a ciphertext without knowing the offset:

$ caesarcipher --crack "W kobh hc sbqcrs hvwg ghfwbu."

Library

Encoding a message:

>>> from caesarcipher import CaesarCipher
>>> cipher = CaesarCipher('I want to encode this string')
>>> cipher.encoded
'W kobh hc sbqcrs hvwg ghfwbu.'

Encoding a message with a specific offset:

>>> from caesarcipher import CaesarCipher
>>> cipher = CaesarCipher('I want to encode this string.',
...     offset=14)
>>> cipher.encoded
'W kobh hc sbqcrs hvwg ghfwbu.'

Decoding a ciphertext with a specific offset:

>>> from caesarcipher import CaesarCipher
>>> cipher = CaesarCipher('W kobh hc sbqcrs hvwg ghfwbu.',
...    offset=14)
>>> cipher.decoded
'I want to encode this string.'

Cracking a ciphertext without knowing the offset:

>>> from caesarcipher import CaesarCipher
>>> cipher = CaesarCipher('W kobh hc sbqcrs hvwg ghfwbu.')
>>> cipher.cracked
'I want to encode this string.'

Development

Hacking

To hack on the project, clone the GitHub repo:

$ git clone https://github.com/RobSpectre/Caesar-Cipher.git

Then install in a virtualenv.

$ pip install -e ./

Tests

The project uses Nose for tests. Simply run from the project root.

$ nosetests -v

Go ahead and check on coverage and PEP8 while you’re at it!

$ nosetests -v --with-coverage --with-tissue

Meta

  • Written by Rob Spectre
  • Used for Hacker Olympics London 2014
  • Released under MIT License
  • Software is as is - no warranty expressed or implied.
  • The Caesar Shift Cipher is known to be ridiculously easy to crack, as evidenced by this very package. Do not confuse with actual cryptography or use in anything that is important - it’s just a fun math problem for a sunny vacation afternoon.
Release History

Release History

1.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
caesarcipher-1.0.tar.gz (10.1 kB) Copy SHA256 Checksum SHA256 Source Jun 1, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting