https://dev.kronoz.win/r/marzneshin.git
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()