Metadata-Version: 2.1
Name: listcrypt
Version: 0.2.3
Summary: Symmetric cryptography module
Home-page: https://github.com/JustScott/ListCrypt
Author: JustScott
Author-email: <justscottmail@protonmail.com>
License: MIT
Project-URL: Bug Reports, https://github.com/JustScott/ListCrypt/issues
Description: # <p align='center'>ListCrypt</p>
        <h3 align='center'> Symmetric cryptographic algorithm built in python3.8 </h3>
        
        <br>
        <br>
        
        # Example Use
        ```python
        >>> 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..
        
        ```
        <h4>Easily Encrypt and Decrypt Files with the 'encrypt_file' and 'decrypt_file' Functions</h4>
        
        ```python
        >>> from listcrypt import encrypt_file, decrypt_file
        >>>
        >>> file_name = "file.txt"
        >>> key = "example key"
        >>>
        >>> encrypt_file(key, path)
        True
        >>> decrypt_file(key, path)
        True
        
        ```
        
        <br>
        
        # Documentation
        ```python
        '''
        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
        '''
        ```
        
Keywords: python,encryption,decryption,cryptography
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.0
Classifier: Topic :: Security :: Cryptography
Description-Content-Type: text/markdown
