{"id":24773081,"url":"https://github.com/brosgor/elgamal-api","last_synced_at":"2025-03-23T21:14:51.292Z","repository":{"id":254932887,"uuid":"847992887","full_name":"brosgor/elgamal-api","owner":"brosgor","description":"Sistema de login que implementa el algoritmo de cifrado ElGamal para garantizar la autenticación segura de usuarios. Las credenciales se encriptan con claves asimétricas, ofreciendo protección robusta contra la interceptación y el acceso no autorizado.","archived":false,"fork":false,"pushed_at":"2024-09-13T00:23:00.000Z","size":75,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-29T04:37:46.553Z","etag":null,"topics":["algorithm","criptography","elgamal-encryption","flask","gunicorn","logging","mysql-database","python","registry","signing"],"latest_commit_sha":null,"homepage":"https://cryptogate.onrender.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brosgor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-26T23:50:02.000Z","updated_at":"2024-09-13T00:23:05.000Z","dependencies_parsed_at":"2024-08-27T02:52:33.647Z","dependency_job_id":"7af57bdb-5d9d-4ef4-ad1f-341cedab2dde","html_url":"https://github.com/brosgor/elgamal-api","commit_stats":null,"previous_names":["lpedraoss/elgamal-api","brosgor/elgamal-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brosgor%2Felgamal-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brosgor%2Felgamal-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brosgor%2Felgamal-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brosgor%2Felgamal-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brosgor","download_url":"https://codeload.github.com/brosgor/elgamal-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245168902,"owners_count":20571804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","criptography","elgamal-encryption","flask","gunicorn","logging","mysql-database","python","registry","signing"],"created_at":"2025-01-29T04:37:28.673Z","updated_at":"2025-03-23T21:14:51.259Z","avatar_url":"https://github.com/brosgor.png","language":"HTML","readme":"# ElGamal API\n\nEste proyecto proporciona una API para cifrado y autenticación usando el algoritmo ElGamal.\n\n## Requisitos\n\nAsegúrate de tener [Python](https://www.python.org/downloads/) instalado en tu sistema. Se recomienda usar un entorno virtual para gestionar las dependencias.\n\n## Instalación\n\n1. **Clona el repositorio**:\n\n    ```bash\n    git clone https://github.com/lpedraoss/elgamal-api.git\n    cd elgamal-api\n    ```\n\n2. **Crea y activa un entorno virtual**:\n\n    ```bash\n    python -m venv venv\n    source venv/bin/activate  # En Windows: venv\\Scripts\\activate\n    ```\n\n3. **Instala las dependencias**:\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n4. **Instala MySQL Server y MySQL Workbench**:\n\n    - Descarga e instala [MySQL Server](https://dev.mysql.com/downloads/mysql/).\n    - Descarga e instala [MySQL Workbench](https://dev.mysql.com/downloads/workbench/).\n\n5. **Configura la base de datos**:\n\n    - Abre MySQL Workbench.\n    - En la barra lateral izquierda, en la sección \"SCHEMAS\", asegúrate de que `elgamaldb` esté visible.\n    - Haz doble clic en `elgamaldb` para seleccionarla como la base de datos activa.\n    - Abre una nueva pestaña de consulta (Query Tab).\n    - Copia y pega el siguiente script SQL en la nueva pestaña de consulta:\n    \n    ```sql\n    USE elgamaldb;\n\n    CREATE TABLE IF NOT EXISTS users (\n        id INT AUTO_INCREMENT PRIMARY KEY,\n        username VARCHAR(255) NOT NULL UNIQUE,\n        password TEXT NOT NULL,\n        p VARCHAR(255) NOT NULL,\n        a VARCHAR(255) NOT NULL,\n        c1 VARCHAR(255) NOT NULL\n    );\n    ```\n\n    - Ejecuta el script (puedes hacerlo presionando el botón de rayo o usando el atajo de teclado `Ctrl+Enter`).\n\n## Ejecución de la API\n\n1. **Inicia la aplicación**:\n\n    ```bash\n    flask run\n    ```\n\n2. **Endpoints Disponibles**:\n\n    - **Registro de Usuario**\n      - **Método**: `POST`\n      - **Endpoint**: `/api/register`\n      - **Descripción**: Registra un nuevo usuario en el sistema.\n      - **Cuerpo de la Solicitud**: JSON con el siguiente formato:\n        ```json\n        {\n          \"username\": \"tu_usuario_aqui\",\n          \"password\": \"tu_contraseña_aqui\"\n        }\n        ```\n\n    - **Inicio de Sesión**\n      - **Método**: `POST`\n      - **Endpoint**: `/api/login`\n      - **Descripción**: Autentica un usuario comparando la contraseña ingresada con la almacenada.\n      - **Cuerpo de la Solicitud**: JSON con el siguiente formato:\n        ```json\n        {\n          \"username\": \"tu_usuario_aqui\",\n          \"password\": \"tu_contraseña_aqui\"\n        }\n        ```\n\n## Notas Adicionales\n\n- Asegúrate de que el archivo [`requirements.txt`](command:_github.copilot.openRelativePath?%5B%7B%22scheme%22%3A%22file%22%2C%22authority%22%3A%22%22%2C%22path%22%3A%22%2Fc%3A%2FUsers%2Fluill%2FDocuments%2FmiGit%2Felgamal-api%2Frequirements.txt%22%2C%22query%22%3A%22%22%2C%22fragment%22%3A%22%22%7D%5D \"c:\\Users\\luill\\Documents\\miGit\\elgamal-api\\requirements.txt\") esté actualizado con las últimas dependencias usando [`pip freeze \u003e requirements.txt`](command:_github.copilot.openSymbolFromReferences?%5B%22pip%20freeze%20%3E%20requirements.txt%22%2C%5B%7B%22uri%22%3A%7B%22%24mid%22%3A1%2C%22fsPath%22%3A%22c%3A%5C%5CUsers%5C%5Cluill%5C%5CDocuments%5C%5CmiGit%5C%5Celgamal-api%5C%5CREADME.md%22%2C%22_sep%22%3A1%2C%22external%22%3A%22file%3A%2F%2F%2Fc%253A%2FUsers%2Fluill%2FDocuments%2FmiGit%2Felgamal-api%2FREADME.md%22%2C%22path%22%3A%22%2Fc%3A%2FUsers%2Fluill%2FDocuments%2FmiGit%2Felgamal-api%2FREADME.md%22%2C%22scheme%22%3A%22file%22%7D%2C%22pos%22%3A%7B%22line%22%3A66%2C%22character%22%3A426%7D%7D%5D%5D \"Go to definition\").\n- Consulta la [documentación de Flask](https://flask.palletsprojects.com/) para más detalles sobre el framework.\n\n## Contribuciones\n\nSi deseas contribuir a este proyecto, por favor envía un pull request con tus cambios.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrosgor%2Felgamal-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrosgor%2Felgamal-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrosgor%2Felgamal-api/lists"}