You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
# SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
"""
 | 
						|
Argon2 for Python
 | 
						|
"""
 | 
						|
 | 
						|
from . import exceptions, low_level, profiles
 | 
						|
from ._legacy import hash_password, hash_password_raw, verify_password
 | 
						|
from ._password_hasher import (
 | 
						|
    DEFAULT_HASH_LENGTH,
 | 
						|
    DEFAULT_MEMORY_COST,
 | 
						|
    DEFAULT_PARALLELISM,
 | 
						|
    DEFAULT_RANDOM_SALT_LENGTH,
 | 
						|
    DEFAULT_TIME_COST,
 | 
						|
    PasswordHasher,
 | 
						|
)
 | 
						|
from ._utils import Parameters, extract_parameters
 | 
						|
from .low_level import Type
 | 
						|
 | 
						|
 | 
						|
__title__ = "argon2-cffi"
 | 
						|
 | 
						|
__author__ = "Hynek Schlawack"
 | 
						|
__copyright__ = "Copyright (c) 2015 " + __author__
 | 
						|
__license__ = "MIT"
 | 
						|
 | 
						|
 | 
						|
__all__ = [
 | 
						|
    "DEFAULT_HASH_LENGTH",
 | 
						|
    "DEFAULT_MEMORY_COST",
 | 
						|
    "DEFAULT_PARALLELISM",
 | 
						|
    "DEFAULT_RANDOM_SALT_LENGTH",
 | 
						|
    "DEFAULT_TIME_COST",
 | 
						|
    "Parameters",
 | 
						|
    "PasswordHasher",
 | 
						|
    "Type",
 | 
						|
    "exceptions",
 | 
						|
    "extract_parameters",
 | 
						|
    "hash_password",
 | 
						|
    "hash_password_raw",
 | 
						|
    "low_level",
 | 
						|
    "profiles",
 | 
						|
    "verify_password",
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
def __getattr__(name: str) -> str:
 | 
						|
    dunder_to_metadata = {
 | 
						|
        "__version__": "version",
 | 
						|
        "__description__": "summary",
 | 
						|
        "__uri__": "",
 | 
						|
        "__url__": "",
 | 
						|
        "__email__": "",
 | 
						|
    }
 | 
						|
    if name not in dunder_to_metadata:
 | 
						|
        msg = f"module {__name__} has no attribute {name}"
 | 
						|
        raise AttributeError(msg)
 | 
						|
 | 
						|
    import warnings
 | 
						|
 | 
						|
    from importlib.metadata import metadata
 | 
						|
 | 
						|
    warnings.warn(
 | 
						|
        f"Accessing argon2.{name} is deprecated and will be "
 | 
						|
        "removed in a future release. Use importlib.metadata directly "
 | 
						|
        "to query for argon2-cffi's packaging metadata.",
 | 
						|
        DeprecationWarning,
 | 
						|
        stacklevel=2,
 | 
						|
    )
 | 
						|
 | 
						|
    meta = metadata("argon2-cffi")
 | 
						|
 | 
						|
    if name in ("__uri__", "__url__"):
 | 
						|
        return meta["Project-URL"].split(" ", 1)[-1]
 | 
						|
 | 
						|
    if name == "__email__":
 | 
						|
        return meta["Author-email"].split("<", 1)[1].rstrip(">")
 | 
						|
 | 
						|
    return meta[dunder_to_metadata[name]]
 |