Skip to main content

Encrypt Strings And Files With Bush Encryption (OR) AES Encryption (OR) Fernet Encryption

Project description

Py-Encryptor

What's New

* Added New Encryption Class Bush_Encryption, RSA_Encryption (ASymmetric)
* Added Doc For Every Function
* Added File Encryption
* Many Bugs Fixed
* Upgraded To Version 2.3
* Many Exceptions Catched Under Try Except

Installation

pip install Py-Encryptor

Using git

git clone https://github.com/pmk456/Encryptor
cd Encryptor
python setup.py install

Usage

Generate Private And Public Keys For RSA_Encryption

from Encryptor import RSA_Encryption
RSA_Encryption.generate_keys()

Sign Data Using RSA

# Supported Algorithms For Signing = ['SHA-1', 'SHA-224', 'SHA-256', 'SHA-384', 'SHA-512', "MD5"]
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem")
cipher.sign(b"data", algo="SHA-1")
# Output
# Signature Of Data:
# b'm\xa6\xf1(\xaa13\x03F5\x10g\xb0)\xf2\xae/7\xb1G\xbf\x00\xe8I-\xc8T\r\xcc\t\x830\x11\x02\xa2\xff\x93\xf1\xf5\t\xfa\xb4\x97\x03\xd5b\xdf\xa1\xa8B\xbcv\x12\x04\x97\xc0\\\x1c\xd6\xb3\xdc\xb8c\xd5'

Verify Signature of Data

# Supported Algorithms For Signing = ['SHA-1', 'SHA-224', 'SHA-256', 'SHA-384', 'SHA-512', "MD5"]
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem", private_file="private_key.pem")
data = b'm\xa6\xf1(\xaa13\x03F5\x10g\xb0)\xf2\xae/7\xb1G\xbf\x00\xe8I-\xc8T\r\xcc\t\x830\x11\x02\xa2\xff\x93\xf1\xf5\t\xfa\xb4\x97\x03\xd5b\xdf\xa1\xa8B\xbcv\x12\x04\x97\xc0\\\x1c\xd6\xb3\xdc\xb8c\xd5'
print(cipher.verify_signature(b"Data", data))
# Output
# (True, "SHA-1")

Sign A File Using RSA

# Supported Algorithms For Signing = ['SHA-1', 'SHA-224', 'SHA-256', 'SHA-384', 'SHA-512', "MD5"]
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem", private_file="private_key.pem")
cipher.sign_file("path", algo="SHA-1")
# Output
# Signature Of File

Verify Signature of A File

# Supported Algorithms For Signing = ['SHA-1', 'SHA-224', 'SHA-256', 'SHA-384', 'SHA-512', "MD5"]
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem", private_file="private_key.pem")
data = b'4\xf5\x0bu\x10\xab\x9cA}\xce\x96Z,[\xd7Cp\xe0\xcb\x97Xew\xf7\n\xd9\x95\x1dy\x87\x11\x1d\xf88\xba2\xddR\xec\x13\x175sv@\x9f\xd0\xfe\xa2\xd7\n\x1c\x18O\xc4\xe8U\x94bg%\xec\xbfz'
cipher.verify_file("path", data)
# Output
# (True, "SHA-1")

Encrypt File Using Bush

from Encryptor import Bush_Encryption
cipher = Bush_Encryption("KeyToUse")
cipher.file_encrypt('path')
# Output
# Same File With .enc Extension

Encrypt File Using Fernet

from Encryptor import Fernet_Encryption
cipher = Fernet_Encryption(key='keytouse')
cipher.file_encrypt('path')
# Output
"""
Encrypted File with Extension .enc will be In The Same Path
"""

Encrypt File Using AES

from Encryptor import AES_Encryption
cipher = AES_Encryption(key='keytouse', iv='this is iv 45611')
print(cipher.file_encrypt('path'))
# Output
"""
File Successfully Encrypted With Given Key
In Case Of any exception:
Something Went Wrong During Encryption Of The File
path.enc // THIS IS ENCRYPTED FILE WHICH IS SAVED IN THE GIVEN PATH
"""

Encrypt File Using RSA Warning: Use This For Small Files less than 1024 Bytes

# Deprecated Warning
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem")
cipher.file_encrypt("pathtofile")

Decrypt File Using RSA

# Deprecated Warning
from Encryptor import RSA_Encryption
cipher = RSA_Encryption(private_file="private_key.pem", public_file="public_key.pem")
cipher.file_decrypt("path.enc")

Decrypt File Using Bush

from Encryptor import Bush_Encryption
cipher = Bush_Encryption("KeyToUse")
cipher.file_decrypt("path.enc")
# Output
# Same File With Removed .enc Extension

Decrypt File Using Fernet

from Encryptor import Fernet_Encryption
cipher = Fernet_Encryption(key='keywhichusedtoencrypt')
cipher.file_decrypt(path='path\to\file.enc')
# output
# Decrypted File will be in the same given path

Decrypt File Using AES

from Encryptor import AES_Encryption
cipher = AES_Encryption(key='keytouse', iv='This is iv 45611')
print(cipher.file_decrypt('path'))
# OUTPUT
"""
File Successfully Decrypted With Given Key
In Case Of any exception:
Something Went Wrong During Decryption Of The File
If nothing went wrong:
path // THIS IS DECRYPTED FILE WHICH IS SAVED IN THE GIVEN PATH
"""

Encrypt String Using Bush

from Encryptor import Bush_Encryption
cipher = Bush_Encryption("keytouse")
cipher.encrypt("Hello, World!")
# Output varies Everytime You Run, Because Of IV Randomization
# b'ZISDJSjdcJmZ1jEtZq-TJ9f_-EK1LYms19_R0G4-Thw=ebOTwrjzmMP2l2kzHtMifQ==ew6pPaBG9QjE_TGD6xyMwA=='

Encrypt String Using RSA

from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem")
cipher.encrypt("Hello, World!")
# Output
# b'{\x7f2\xbe\xa0\xee\x82\xac\x84#\x9b \x12$+\\V\xd5(\xa0\xc1\x11\x19\x9fQ\xacO\x1fJ\xd8XX\xbfR\xe8\xe9Cm\xe0\xd3`\xee\xf0\x7f|Cn\xcf\x00#H\xe2R_\xa4\x19\x1a\x06A\xa2kT\x9dQ'

Encrypt String Using AES

from Encryptor import AES_Encryption
cipher = AES_Encryption(key='keytouse', iv='this is iv 45611')
cipher.encrypt("Hello")
### OUTPUT
# b'}%\x99\x00b3\xb0?\xe5\t\x07wc\xa8\xc6\x8d'

Encrypt String Using Fernet

from Encryptor import Fernet_Encryption
cipher = Fernet_Encryption(key='keytouse')
cipher.encrypt('string')
# Output
# b'gAAAAABg4AFMaGOzEvKpJgArUvJrmhTPLZIio5qAz96PAHs4CWlInKHS-nA48G_2RwQKbHQcDy3fei1ctH5luGSThqkZC520AA=='

Decrypt String Using AES

from Encryptor import AES_Encryption
cipher = AES_Encryption(key='keytouse', iv='this is iv 45611')
cipher.decrypt(b'}%\x99\x00b3\xb0?\xe5\t\x07wc\xa8\xc6\x8d')
### OUTPUT
# 'Hello'

Decrypt String Using Bush

from Encryptor import Bush_Encryption
cipher = Bush_Encryption("keytouse")
cipher.decrypt("data")
# Output
# Decrypted Data

Decrypt String Using RSA

from Encryptor import RSA_Encryption
cipher = RSA_Encryption(public_file="public_key.pem", private_file="private_key.pem")
cipher.decrypt(b'{\x7f2\xbe\xa0\xee\x82\xac\x84#\x9b \x12$+\\V\xd5(\xa0\xc1\x11\x19\x9fQ\xacO\x1fJ\xd8XX\xbfR\xe8\xe9Cm\xe0\xd3`\xee\xf0\x7f|Cn\xcf\x00#H\xe2R_\xa4\x19\x1a\x06A\xa2kT\x9dQ')
# Output
# b'Hello, World!'

Decrypt String Using Fernet

from Encryptor import Fernet_Encryption
cipher = Fernet_Encryption(key='keytouse')
cipher.decrypt(b'gAAAAABg4AFMaGOzEvKpJgArUvJrmhTPLZIio5qAz96PAHs4CWlInKHS-nA48G_2RwQKbHQcDy3fei1ctH5luGSThqkZC520AA==')
# Output
# string

About

Hi, I Am Patan Musthakheem I Am The Author Of This Package.
I Created This Tool For Beginners Who Want to encrypt their string or file
using any encryption but they dont know how to use it because 
for beginners it is bit of difficult for using Encryption like AES from scratch.
I Faced Many issues when learning how to encrypt strings and files in python when
when i am beginner i decided to create a very simple tool which will encrypt strings and files
in one line of code.
That day has came, Now you can encrypt and decrypt strings in one line of code.
Thanks To Me.

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

Py-Encryptor-2.3.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

Py_Encryptor-2.3-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file Py-Encryptor-2.3.tar.gz.

File metadata

  • Download URL: Py-Encryptor-2.3.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for Py-Encryptor-2.3.tar.gz
Algorithm Hash digest
SHA256 4ea2a9c93139c8b31220be2015397b945618b529db8954d6ddb4c8327ab906ef
MD5 ad63e76b438401a19b3da5192f4d4d35
BLAKE2b-256 e23c8a549ee2c243150520d11dcd482bdc347bcf9b205983a361421420cb629e

See more details on using hashes here.

File details

Details for the file Py_Encryptor-2.3-py3-none-any.whl.

File metadata

  • Download URL: Py_Encryptor-2.3-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for Py_Encryptor-2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b94f4d68c6ffbcdd47aa239c843f5147bd0b46f85a09d9110d219bb65b0cb89b
MD5 8a0f49c870d29ac632cebcf4dbe91093
BLAKE2b-256 054baa1bdef4f3e8e233ff6380dca34af590e3b5c3dfafb42e65dfaa7ddaf5f1

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