Encrypt And Decrypt files Using Python

In this tutorial, we will learn how to Encrypt and Decrypt files using Python. Before going to encrypting and decrypting files first let’s discuss a few points about encryption and Decryption.

What is Encryption

The process of converting plain text to cipher text is called encryption. It is also called encoding. The only way to access the file’s information then is to decrypt it.

What is Decryption

The process of converting encryption text or cipher text into its plain text is called decryption. It is also called decoding.

The process of encryption and decryption is called cryptography. Python has a cryptography module used to encrypt and decrypt files in just a few lines. That can be installed by using

pip install cryptography

You can find the file that used for this example here

https://www.codespeedy.com/wp-content/uploads/2021/01/tips.txt

Encrypt and Decrypt files

1. Generate a key and save it in the same folder as the encryption and decryption script. A key is required for encryption and decryption of the file.

key = Fernet.generate_key()

with open('mykey.key', 'wb') as mykey:
    mykey.write(key)

To see the generated key

with open('mykey.key', 'rb') as mykey:
    key = mykey.read()

print("The generated key: ",key)

Output

The generated key: b'N9nTz67LTqon6OqfaWl2fy_BNQcb6XGFiX-74Ft10LE='

Encrypting a file

1. Firstly initialize the Fernet object as a local variable f.

2. Read the file that needs to be encrypted.

3. Encrypt the file using the Fernet object and store it.

4. Finally, write it in a new file.

f = Fernet(key)

with open('tips.txt', 'rb') as original_file:
    original = original_file.read()

encrypted = f.encrypt(original)

with open ('encrypted_tips.txt', 'wb') as encrypted_file:
    encrypted_file.write(encrypted)

You can take a look at the encrypted file here

https://www.codespeedy.com/wp-content/uploads/2021/01/encrypted_tips.txt

Decrypting a file

1. Initialize the Fernet object as local variable f.

2. Read the encrypted file into encrypted.

3. Then decrypt the file using the Fernet object.

4. Finally, write in a new file.

f = Fernet(key)
with open('encrypted_tips.txt', 'rb') as encrypted_file:
    encrypted = encrypted_file.read()


decrypted = f.decrypt(encrypted)


with open('decrypted_tips.txt', 'wb') as decrypted_file:
    decrypted_file.write(decrypted)

You can take a look at the decrypted file here

https://www.codespeedy.com/wp-content/uploads/2021/01/decrypted_tips.txt

Leave a Reply

Your email address will not be published.