123456789101112131415161718192021222324252627282930 |
- 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 validate_email_format(email: str) -> bool:
- if not re.match(r"[^@]+@[^@]+\.[^@]+", email):
- return False
- return True
|