Saltar a contenido

Seguridad

Esta sección explica algunos metodos del módulo security, que se encuentran bajo el directorio /app/utils, y en donde se especifican métodos de generación y comprobación de contraseñas, tokens y demás.

consulta el módulo:

Generar una nueva clave secreta

Para tener en cuenta

Se recomienda que las variables mencionadas a continuación, se cambien cada vez que inicie un proyecto nuevo.

Para generar una nueva llave se utiliza la función urandom del modulo os y crea una cadena de bytes aleatorios de tamaño adecuado para uso criptográfico.

Nota

Si desea generar una nueva clave se recomienda utilizar la función generate_salt con el costo por defecto de 32 bytes

1
2
3
4
from app.utils.security import generate_salt
...

generate_salt()

ó de la forma:

1
2
3
4
5
import os

DEFAULT_COST = 32

os.urandom(DEFAULT_COST).hex()

la salida será algo como:

>>> 84346126573f323f0901979d47c426f7a0370c2e927aff0479b30da8c2ed802f

Private Key Hash

Revisa y cambia

PRIVATE_KEY_HASH se utiliza con las funciones encrypt_message y decrypt_message por lo que se recomienda realizar el cambio de estos valores, al iniciar el desarrollo de la aplicación.

Atento

Si se han generado contraseñas anteriormente y se cambia el valor de alguna de las constantes citadas, la verificación de las contraseñas (usada por la función decrypt_message) fallará y NO se podrá acceder a los datos previamente cifrados.

ahora cambia el valor de la variable PRIVATE_KEY_HASH, para lograrlo, crea un archivo de nombre .env, en la carpeta raíz del proyecto.

1
2
3
# archivo .env con variables de entorno

PRIVATE_KEY_HASH=84346126573f323f0901979d47c426f7a0370c2e927aff0479b30da8c2ed802f

Recuerda que este archivo, es solo para uso en ambientes de desarollo. Revisa el apartado de Despliegue, para más información.

Lectura recomendada