Skip to main content

Symmetric cryptography module

Project description

ListCrypt

Symmetric cryptographic algorithm built in python3.8



Example Use

>>> from listcrypt import encrypt,decrypt
>>>
>>> key = "example key"
>>> data = "testing 1.. 2.. 3.." 
>>>
>>> e = encrypt(key, data)
>>> print(e)
b'AV#\x18t*\x12\x1c@\x01\x1b%U4k>M*w z\x7f\x17]afh\x07 \x04'
>>>
>>> d = decrypt(key, e)
>>> print(d)
testing 1.. 2.. 3..

Easily Encrypt and Decrypt Files with the 'encrypt_file' and 'decrypt_file' Functions

>>> from listcrypt import encrypt_file, decrypt_file
>>>
>>> file_name = "file.txt"
>>> key = "example key"
>>>
>>> encrypt_file(key, path)
True
>>> decrypt_file(key, path)
True

Documentation

'''
Functions:
    sha256(data: str) -> str:
        Simple hashing function, utilizes the builtin hashlib module

    data_verification(key:str, data:str) -> bool:
        Verifies that your data will be encrypted and decrypted without error

    convert_data(key:str, data:'any data type') -> str and str:
        Converts the data to a string format for encryption

    convert_data_back(metadata: list) -> any
        Converts the data back to its origional type as given by the 'origional_data_type' parameter
        in the 'metadata' list.  This is built to work seamlessly with the 'convert_data' function.

    range_finder(data:str or bytes) -> int:
        Finds the character with the largest integer equivalent in your data

    create_key(key:str, data_length:int) -> bytes
        Uses the sha256 hash of the 'key' parameter to create and concatenate more keys (based upon the origional) to a new
        key variable that is either the same size as or slighty larger than the length of the data

    segment_data(data:str, segments:int) -> list
        Splits the data evenly amongst the amount of 'segments' required

	pull_metadata(key:str, data:bytes) -> dict
		Pulls metadata from the encrypted bytes and puts it in a dictionary for easy readibility

    encrypt(key:'any data type', data:'any data type', processes=cpu_count()) -> bytes
        Encrypts the data by adding each characters integer equivalent to the integer equivalent of the character in
        the same position in the new key variable generated by the 'key parameter'

        Nested Function:
            multiprocess_decryption(data:str, segment:int, shared_dictionary:dict) -> bool
                Takes chuncks of data and adds them to a shared dictionary,
                with the keys being the segments origional position for concatenation
                after encryption

    decrypt(key:"any data type", encrypted_data:bytes, processes=cpu_count()) -> "origional data"
        Encrypts the data by adding each characters integer equivalent to the integer equivalent of the character in
        the same position in the new key variable generated by the 'key parameter'

        Nested_Function:
            multiprocess_encryption(data:str, segment:int, shared_dictionary:dict) -> bool
                Takes chuncks of data and adds them to a shared dictionary,
                with the keys being the segments origional position for concatenation
                after decryption

	remove_image_exif(path:str) -> bool
        Removes the metadata from the provided image, which may cause
        unwanted effects like image rotating, but will reduce the file size greatly

    encrypt_file(key:str, path:str, metadata_removal=True) -> bool
        This function enables the easy encryption of files


    decrypt_file(key:str, path:str) -> bool
        This function enables the easy decryption of files
'''

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

listcrypt-0.2.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

listcrypt-0.2.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file listcrypt-0.2.0.tar.gz.

File metadata

  • Download URL: listcrypt-0.2.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for listcrypt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 90b6b8c4ae04d72a2ee64ae463bfec78820a865a037385a05ea75e6d7129a935
MD5 840cc040409cc5b5fc99151cd9b44c9c
BLAKE2b-256 f9f727b21c07fc45d15c53016df6df74da0d7fbb0c15b987328869a50aaf369f

See more details on using hashes here.

File details

Details for the file listcrypt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: listcrypt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for listcrypt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d200eaf3fbd3696232b4fc9d9e797f55b4b55bc68e3bfcc1fc9321b7f5cd5ee
MD5 12dc44fa390f600075862d31454c10cc
BLAKE2b-256 c2220b0d6dd9b2141577fbd43fc43945cc7b49bca31eb0ec1ceeb61023850a31

See more details on using hashes here.

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