base**exp avatar

introduction to cryptography; demo 1

base.exp

Published: 11 Mar 2023 › Updated: 11 Mar 2023introduction to cryptography; demo 1

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:

Written by

learn cryptography

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.

More Posts From base**exp