Skip to content

Commit

Permalink
crypto
Browse files Browse the repository at this point in the history
  • Loading branch information
esteininger committed May 18, 2020
1 parent c1abf3d commit ce99ddc
Showing 1 changed file with 24 additions and 14 deletions.
38 changes: 24 additions & 14 deletions Utilities/Helpers.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
# -*- coding: utf-8 -*-
import re
import unidecode
from config import secret_key
from Crypto.Cipher import XOR
import base64
import json

from config import crypto_key
from cryptography.fernet import Fernet
from functools import wraps

from flask_jwt_extended import create_access_token, create_refresh_token, set_access_cookies, set_refresh_cookies
from flask_jwt_extended import create_access_token, set_access_cookies, set_refresh_cookies, create_refresh_token
from flask_jwt_extended.view_decorators import _decode_jwt_from_request
from datetime import datetime, timedelta

from .Methods import success_response

from flask import redirect
from flask import redirect, render_template


def auth_response(username):
resp = success_response({'login': True})
expires = timedelta(days=5)
# Create the tokens we will be sending back to the user
access_token = create_access_token(identity=username)
access_token = create_access_token(identity=username, expires_delta=expires)
refresh_token = create_refresh_token(identity=username)
#

set_access_cookies(resp, access_token)
set_refresh_cookies(resp, refresh_token)
return resp
Expand All @@ -33,8 +35,11 @@ def wrapper(*args, **kwargs):
jwt_data = _decode_jwt_from_request(request_type='access')
except:
jwt_data = None

jwt_data_json = json.dumps(jwt_data)

# if the grab worked and the identity key is in the dict then proceed
if jwt_data and 'identity' in jwt_data:
if jwt_data_json and 'identity' in jwt_data_json:
return view_function(*args, **kwargs)
else:
return redirect('login', code=302)
Expand All @@ -48,10 +53,15 @@ def slugify(text):


def encode(plaintext):
cipher = XOR.new(secret_key)
return base64.b64encode(cipher.encrypt(plaintext))
cipher_suite = Fernet(crypto_key)
cipher_text = cipher_suite.encrypt(str.encode(plaintext))
return cipher_text


def decode(encoded_text, array=False):
cipher_suite = Fernet(crypto_key)

if array:
encoded_text = bytes(encoded_text)

def decode(encoded_text):
cipher = XOR.new(secret_key)
return cipher.decrypt(base64.b64decode(encoded_text)).decode("utf-8")
return cipher_suite.decrypt(encoded_text).decode("utf-8")

0 comments on commit ce99ddc

Please sign in to comment.