Skip to content

A Python RSA Encrypted Authentication CLI Application and Flask API as an experimentation for learning how to build a secure data transfer for a real world scenario.

License

Notifications You must be signed in to change notification settings

DennysOliveira/rsa-cryptography-auth

Repository files navigation

RSA Cryptography Authentication Proof-of-Concept

GitHub Repo size GitHub Languages GitHub Issues GitHub Stars License

This project was a request by Structured Programming lectures in Computer Science college.
It runs with both a Python front-end CLI structure and API Endpoints running with Flask.

Features

This application does feature a simple authentication concept with encryption over the data transfered between the client and the endpoint.

  • User registration
  • User authentication

Requirements

  • Python v3.0 or greater is required.
  • This project was tested only in Windows. Might be able to run it on Linux and other *nix based operational systems.

Installation

Windows:

  • First, clone this repository or download the folder and extract it somewhere
    $ git clone https://github.com/bardsnight/aps-proj.git

  • Create a python virtual environment
    $ python -m venv venv

  • Activate the virtual environment
    $ .\venv\Scripts\activate

  • Install project dependencies
    $ pip install -r requirements.txt

Usage

This application is deployed with both the client main.py and the Flask API app.py. You have to run both to be able to reproduce the concept.

  • First, run the Flask API with the Virtual Environment (venv) active:
    $ (venv) $ flask run
    By default, flask run will run app.py.

Your API should now be running at http://localhost:500/.

  • Open up another CLI and run the main application:
    (venv) $ python .\main.py

You can now select whichever options you wanna test.
1 for logging in with a existent user.
2 for registering a new user.
3 to quit the application.

Dependencies

This application was developed with help of the following Python packages and its subdependencies:

Also, some other tools were used during the development process:

Contributors

Contributor Avatar on GitHub
Calebe

Author

Author Profile Picture
Dennys Marcos

Made with lots of ☕.

Linkedin Badge Mail Badge

License

This project is licensed under the terms of the MIT license. Check the file license for deteails.

⬆ Go to the top

About

A Python RSA Encrypted Authentication CLI Application and Flask API as an experimentation for learning how to build a secure data transfer for a real world scenario.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages