diff --git a/modules/estrategia.py b/modules/estrategia.py index b0cdfae..416a3a2 100644 --- a/modules/estrategia.py +++ b/modules/estrategia.py @@ -3,6 +3,8 @@ from enum import Enum import json import os from types import NoneType +from hashlib import sha256 +import random class TiposEstrategia(Enum): @@ -35,3 +37,19 @@ def devolvePersonalidade(nome_strat: str | None) -> dict[str, float] | None: raise TypeError("estratégia {nome_strat=} não é válida") personalidade: dict[str, float] | None = lista_estrategias.get(nome_strat) return personalidade + + +# função para gerar aleatoriamente valores para BigFive (valores decimais) +def gerarBigFive_aleatorio() -> dict[str, float]: + bigfive: dict = {} + for key in "OCEAN": + bigfive[key] = random.random() + return bigfive + + +# função para gerar assinatura sha256 com base nos valores BigFive passados +def gerarAssinaturaBigFive(bigfive: dict[str, float]) -> str: + h = sha256() + for idx, key in enumerate(bigfive): + h.update(str(bigfive[key] ** (len(bigfive) - idx)).encode()) + return h.hexdigest()