12345678910111213141516171819202122232425262728293031323334353637383940 |
- import hashlib
- import re
- def get_gravatar_url(email):
- # Trim leading and trailing whitespace from
- # an email address and force all characters
- # to lower case
- address = str(email).strip().lower()
- # Create a SHA256 hash of the final string
- hash_object = hashlib.sha256(address.encode())
- hash_hex = hash_object.hexdigest()
- # Grab the actual image URL
- return f"https://www.gravatar.com/avatar/{hash_hex}?d=mp"
- def calculate_sha256(file):
- sha256 = hashlib.sha256()
- # Read the file in chunks to efficiently handle large files
- for chunk in iter(lambda: file.read(8192), b""):
- sha256.update(chunk)
- return sha256.hexdigest()
- def calculate_sha256_string(string):
- # Create a new SHA-256 hash object
- sha256_hash = hashlib.sha256()
- # Update the hash object with the bytes of the input string
- sha256_hash.update(string.encode("utf-8"))
- # Get the hexadecimal representation of the hash
- hashed_string = sha256_hash.hexdigest()
- return hashed_string
- def validate_email_format(email: str) -> bool:
- if not re.match(r"[^@]+@[^@]+\.[^@]+", email):
- return False
- return True
|