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]]
|