API REST - Flask. Esta es una API básica que proporciona 2 endpoints, para cifrar y descifrar información utilizando el algoritmo RC4 utilizando en WEP. Esta aplicación está desarrollada para el curso de Desarrollo de Soluciones Cloud.
Para ejecutar la aplicación siga las siguientes instrucciones:
$ python -m venv venv$ .\venv\Scripts\activate
$ pip install flask$ pip install flask-restful$ pip install flask-marshmallow
$ export FLASK_APP=app.py$ export FLASK_DEBUG=1$ export FLASK_ENV=development
$ flask run -h 0.0.0.0
- Utilice Postman (o una herramienta equivalente) para realizar solicitudes post a los endpoints disponibles.
- Ruta Endpoint 1 [POST]:
http://ip_servidor:5000/cipher - Ruta Endpoint 2 [POST]:
http://ip_servidor:5000/decipher - Ambos Endpoints requieren un JSON con el siguiente formato:
{"message" : "Texto a Cifrar/Descifrar", "key": "llave para Cifrar/Descifrar"}
$ sudo apt-get install apache2-utils
- Crear un archivo JSON de ejemplo (En el repositorio encontrará un par de ejemplos disponibles):
{"message" : "Texto a Cifrar/Descifrar", "key": "llave para Cifrar/Descifrar"}
$ ab -n 1000 -c 100 -p data-cifrar.json -T application/json -rk http://ip_servidor:5000/cipher$ ab -n 1000 -c 100 -p data-descifrar.json -T application/json -rk http://ip_servidor:5000/decipher
donde:
-k (keepAlive). Realizar múltiples solicitudes dentro de una sesión HTTP, funcionalidad de los navegadores por la naturaleza-r (flag). Indica que la conexión (socket) no se cierra al recibir errores-n (requests). Número total de solicitudes para ejecutar-c (concurrency). Cantidad de conexiones concurrentes-p (file.json). JSON que se envia en el cuerpo del request-T application/json. Especifica la estructura de datos del body-e data.csv. Guarda los resultados en un archivo CSV
$ sh script.sh
contiene los comandos de prueba de carga para los endpoints de cifrado y descifrado.
Instalar htop
$ apk add htop
Ejecutar htop
$ htop