Skip to main content

Ciphering made easy.

Project description

aCrypt - Python

Ciphering made easy.

Features

  • Encode a string into numbers using a secret key
  • Decode encoded strings into their original form using a secret key
  • Generate a valid aCrypt key

Usage

Usage Params Return Value
create_key() None: None int: key
cipher() str: message, int: key str: ciphered
decipher() str: message, int: key str: deciphered

Examples

Lets say you have private JSON data that you need to encode:

# lets imagine this is the data
data = {
    "username": "ilovecats",
    "password": "meow123"
}

Of course though, writing this un-encoded data can be very unsafe. So the only way to protect it is to cipher it.

from json import dumps, loads
from os import getenv

data = {
    "username": "ilovecats",
    "password": "meow123"
}

# turn the JSON into a string we can encode
data = dumps(data)

# using a key we can store in our environment variables, we can cipher it
encoded_data = cipher(data, os.getenv("CIPHER_KEY")) # you can also keep the key in a variable, thought this is unsafe as users can just use the key

# voila! The data has been ciphered:
print(encoded_data)

And to decipher the data and use it, you can do the reverse:

from json import dumps, loads
from os import getenv

# decipher the data
decoded_data = decipher(encoded_data, os.getenv("CIPHER_KEY"))

# turn the string back into json data
data = loads(decoded_data)

# now you can use it!
print("Your username is" + data.username + "!")

Credits

  • Thank you to the repl.it community for providing such amazing services for free.
  • Thank you to Atticus Kuhn for pointing out safety concerns on the project.
  • Thank you to AmazingMech2418 (https://repl.it/@AmazingMech2418), for showing me the world of cryptography.
  • Thank you StealthHydra179 (https://repl.it/@StealthHydra179), for being the only person who cared about programming in my school.
  • Thank you Giothecoder (https://repl.it/@Giothecoder), for being there when I needed you most.

Change Log

  • 0.0.1 - Cipher was added, deciphering was unfinished
  • 0.0.2 - Deciphering finished with lots of bugs
  • 0.0.3 - Atticus Kuhn pointed out a safety bug, and thus it was patched
  • 0.0.4 - Bugs fixes
  • 0.0.5 - Added Credits
  • 0.0.6 - AmazingMech2418 pointed out huge safety feature that should be added
  • 0.0.7 - Bugs fixes
  • 0.0.8 - Test Version
  • 0.0.9 - Test Version
  • 0.1.0 - Update 0.0.6 was revisited and implemented
  • 0.1.1 - Added changelog
  • 0.1.3 - Bug fixes
  • 0.1.4 - Made key generation more efficient
  • 0.1.5 - Added examples

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aCrypt-0.1.7.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

aCrypt-0.1.7-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page