gitscope
← marzneshin / v0.6.1 / app/utils/keygen.py
https://dev.kronoz.win/r/marzneshin.git
app/utils/keygen.py · Python
Blame Raw
 1import base64
 2import uuid
 3
 4import xxhash
 5from nacl.public import PrivateKey
 6
 7from app.config.env import AuthAlgorithm, AUTH_GENERATION_ALGORITHM
 8
 9
10def gen_uuid(key: str) -> str:
11    if AUTH_GENERATION_ALGORITHM == AuthAlgorithm.PLAIN:
12        return str(uuid.UUID(key))
13    else:
14        return str(uuid.UUID(bytes=xxhash.xxh128(key.encode()).digest()))
15
16
17def gen_password(key: str) -> str:
18    if AUTH_GENERATION_ALGORITHM == AuthAlgorithm.PLAIN:
19        return key
20    else:
21        return xxhash.xxh128(key.encode()).hexdigest()
22
23
24def generate_curve25519_pbk(key: str) -> str:
25    return base64.b64encode(PrivateKey(key.encode()).encode()).decode()