项目作者: mBouamama

项目描述 :
Api proxy encrypted/decrypt data with fernet algorithm
高级语言: Python
项目地址: git://github.com/mBouamama/api_proxy_crypted.git
创建时间: 2020-10-30T12:02:40Z
项目社区:https://github.com/mBouamama/api_proxy_crypted

开源协议:MIT License

下载


API Proxy crypted

Python 3
mBouamama
Updates
Known Vulnerabilities
Maintainability
DeepScan grade

Table of Contents

Explication

When You have a project with API/FRONT and you send sensitive information via your front you don’t want to have your data in clear text on network Console section.
So you can use this api to send encrypted information and this api will decrypt url + body and send requests to your api.

schema

diagram

Installation

Api use django python framework

  1. git clone https://github.com/mBouamama/api_proxy_crypted.git
  2. cd api_proxy_crypted
  3. python -m pip install -r requirements.txt
  4. python entrypoint.py

Docker

  1. # prod mode
  2. docker pull matthieubouamama/api_proxy_crypted:latest
  3. docker run matthieubouamama/api_proxy_crypted:latest (option param)
  4. # or
  5. docker pull matthieubouamama/api_proxy_crypted:latest
  6. docker run matthieubouamama/api_proxy_crypted:dev (option param)

How to send requests to API Proxy Encrypted

Python

  1. pip install cryptography
  1. from cryptography.fernet import Fernet
  2. def encrypt(message: bytes, key: str) -> bytes:
  3. return Fernet(key.encode()).encrypt(message)
  4. print(encrypt("test", "81HqDtbqAywKSOumSha3BhWNOdQ26slT6K0YaZeZyPs=").encode())

NodeJS

  1. npm i fernet
  1. var secret = new fernet.Secret("cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4=");
  2. var token = new fernet.Token({secret: secret});
  3. console.log(token.encode("test"))

Go

  1. # TODO

Optional Param

PORT

  1. #SET environement variable port
  2. export PORT=8080
  3. # if you use docker
  4. docker run --env PORT=8080 -p 8080:8080 mBouamama/api_proxy_crypted:latest

FERNET KEY

  1. #SET environement variable FERNET key
  2. export FERNET_KEY="81HqDtbqAywKSOumSha3BhWNOdQ26slT6K0YaZeZyPs="
  3. # if you use docker
  4. docker run --env FERNET_KEY="81HqDtbqAywKSOumSha3BhWNOdQ26slT6K0YaZeZyPs=" mBouamama/api_proxy_crypted:latest

Contribute

  1. # TODO