
introduction to cryptography; demo 1
This first demo reproduces the minimal example from https://cryptography.io/en/latest/fernet/
Here is the code:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"A really secret message. Not for prying eyes.")
Running this code snippet generates a key "key=Fernet.generate_key()" that is used to encrypt the message "A really secret message. Not for prying eyes".
The token is the encrypted message:
token = str.encode('gAAAAABkA82hbypi9ImmSnP_MGiqkuAHY-8fSsBdnl4qd2or6cQF_6stRh2RDHEvNGkuxQ9sc4nC0HKl9_f1Ax5LOPNaWFJUOjVgWt5ix0EzdcfrJJxslBd3f2GyOPOawJmdHDRwTO4N', 'utf-8')
Try decoding it with this key:
key = str.encode('LB83JBWFeETaE7NoBgJme0tOBDbV65lLa1H23YDQ6M0=', 'utf-8')
Did you notice the lowercase b used for the message and the key? The lowercase b tells Python that the data is coded in binary (1s and 0s).
Fernet is a symmetric encryption algorithm. This means that the same key is used to encrypt and decrypt the message.
Python snippet to decode the message:
New variable names are used so that we don't over-write the values of the variables already defined (key, token, f):
key2 = str.encode('LB83JBWFeETaE7NoBgJme0tOBDbV65lLa1H23YDQ6M0=', 'utf-8')
token2 = str.encode('gAAAAABkA82hbypi9ImmSnP_MGiqkuAHY-8fSsBdnl4qd2or6cQF_6stRh2RDHEvNGkuxQ9sc4nC0HKl9_f1Ax5LOPNaWFJUOjVgWt5ix0EzdcfrJJxslBd3f2GyOPOawJmdHDRwTO4N', 'utf-8')
f2 = Fernet(key2)
message = f2.decrypt(token2)
print(message)
Output:
b'A really secret message. Not for prying eyes.'
I am new to ecency, please let me know if you have any questions, comments, or constructive criticisms. Thanks!
Leave introduction to cryptography; demo 1 to:
Read more #hive-138876 posts
Best Posts From base**exp
We have not curated any of base.exp's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.