Skip to main content

Simple symmetric encryption and decryption (ECB) for text

Project description

SH Crypt

PyPI Latest Release License codecov CircleCI

A simple symetric encyption decryption algorithm

About

SH Crypt is base on library cryptography algorithm and use more specifically the Electronic Code Book (ECB) for symetric encryption and decryption.

Here are some code example to use the library.

Generate a key, encrypt and decrypt text

from sh_crypt import GenKeySH, SymCryptSH, AsymCryptSH
import random as rnd

###############################
## Symetric Cipher

# Create key generator
seed = rnd.randint(1, 1e12)
key_gen = GenKeySH(seed)

key = key_gen.gen_sym_key(path_store="mykey.txt")
# Ex : 'e169344ae15719669ed2fecea1ac4773'

password = "Hello World !!"

crypt = CryptSH(key)

encrypt_password = crypt.encrypt_message(password)
# Ex : '469feb93adc2af609a98e6b7cee859bb'

crypt.decrypt_message(encrypt_password)
# 'Hello World !!'

###############################
## Asymetric Cipher

key_gen = GenKeySH()

priv_key, public_key = key_gen.gen_asym_key()
# We can store the key with parameters path_store="file_path".

crypt = AsymCryptSH()

crypt.add_key(priv_key)
crypt.add_key(public_key)

message = "Hello World !!!"

# Encrypt / Decrypt Message
message_enc = crypt.encrypt_message(message)

crypt.decrypt_message(message_enc)

# Sign message / check signature

signature = crypt.sign_message(message)

if crypt.check_sign_message(signature, message):
    print("Signature is valid")
else:
    print("Signature is invalid")

As you can see in the example, you can store your generated key in a text file and reuse it later, with the path_store argument.

Install

You can install sh-crypt with pip:

pip install sh-crypt

or download the sh-crypt source, choose your version, and install with the command:

python setup.py install

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

sh-crypt-1.2.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sh_crypt-1.2.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file sh-crypt-1.2.1.tar.gz.

File metadata

  • Download URL: sh-crypt-1.2.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.14

File hashes

Hashes for sh-crypt-1.2.1.tar.gz
Algorithm Hash digest
SHA256 c4abf43d5a7759af7f73d267649b75d0376c0b8cd97cde6356796e00cb5bdca7
MD5 de201a6e3d0127c0b1e30b79c2ac269f
BLAKE2b-256 6e9b392471265936e03fd3f1eb7c652940e12c087aba8b059638440cbbad7d84

See more details on using hashes here.

File details

Details for the file sh_crypt-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: sh_crypt-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.14

File hashes

Hashes for sh_crypt-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a832f90e6942f37787bcf8f5acf5767267e1e1fe9778f4722605441fdafc82be
MD5 0671051a409e18411edf37da2d276849
BLAKE2b-256 588e7e0b88c9f9b32d80049ca97e5ec039f9660cee788441ed3d1e9682971154

See more details on using hashes here.

Supported by

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