Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a09602f

Browse files
improvised the lines of code - bringing to standard.
1 parent a25ec62 commit a09602f

File tree

1 file changed

+50
-18
lines changed

1 file changed

+50
-18
lines changed

‎Cryptography/test.py

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,56 @@
1-
# Basic Fernet
1+
# Enhanced Fernet Encryption Example
22

3-
# msg = "I am going to encrypt this sentence using Fernet"
4-
msg = "D$bd1@k3"
5-
6-
from cryptography import fernet
73
from cryptography.fernet import Fernet
84

9-
# first generate key
10-
eKey = Fernet.generate_key()
11-
print("\nKey is : " + eKey.decode())
12-
# print("\nType of key is .. " + str(type(eKey)))
13-
print("\nKey is : " + str(len(eKey.decode())))
5+
def generate_key():
6+
"""Generate and return a Fernet key."""
7+
return Fernet.generate_key()
8+
9+
def save_key(key, filename):
10+
"""Save the key to a file."""
11+
with open(filename, 'wb') as file:
12+
file.write(key)
13+
14+
def load_key(filename):
15+
"""Load the key from a file."""
16+
with open(filename, 'rb') as file:
17+
return file.read()
18+
19+
def encrypt_message(message, key):
20+
"""Encrypt a message using the provided key."""
21+
f = Fernet(key)
22+
return f.encrypt(message.encode())
23+
24+
def decrypt_message(token, key):
25+
"""Decrypt a token using the provided key."""
26+
f = Fernet(key)
27+
return f.decrypt(token).decode()
28+
29+
if __name__ == "__main__":
30+
msg = "D$bd1@k3"
31+
key_file = "fernet.key"
32+
33+
# Generate and save key
34+
key = generate_key()
35+
print("\nGenerated Key:", key.decode())
36+
save_key(key, key_file)
37+
print("Key saved to", key_file)
1438

15-
# create a class instance object
16-
f1 = Fernet(eKey)
39+
# Load key (simulating a new session)
40+
loaded_key = load_key(key_file)
41+
print("Loaded Key:", loaded_key.decode())
1742

18-
eMsg = f1.encrypt(msg.encode()) # f1 instance can encrypt only bytes
19-
print("\nEncrypted message is - " + eMsg.decode())
20-
print("\nEncrypted message is -" + str(len(eMsg)))
43+
# Encrypt message
44+
try:
45+
encrypted = encrypt_message(msg, loaded_key)
46+
print("\nEncrypted Message:", encrypted.decode())
47+
print("Encrypted message length:", len(encrypted))
48+
except Exception as e:
49+
print("Encryption error:", e)
2150

22-
# decrypt with same instance
23-
dMsg = f1.decrypt(eMsg).decode()
24-
print("\nDecrypted Message - " + dMsg)
51+
# Decrypt message
52+
try:
53+
decrypted = decrypt_message(encrypted, loaded_key)
54+
print("\nDecrypted Message:", decrypted)
55+
except Exception as e:
56+
print("Decryption error:", e)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /