def hashPass(plainPass, username): #hash password through sha512 with 1 million rounds. #static salt of 20 random characters, dynamic salt of the username staticSalt = "r!6bCZ&2e7a28d6dfE0c" shaHasher = Hashing() h = shaHasher.hash_value(plainPass, salt=username+staticSalt) return h
class MyTest(unittest.TestCase): def setUp(self): self.app = Flask(__name__) self.app.config['HASHING_METHOD'] = 'sha256' self.h = Hashing(self.app) def test_hash_capability(self): val = 'somethingsecret' salt = 'abcd' valhash = self.h.hash_value(val, salt) self.assertTrue(self.h.check_value(valhash, val, salt)) self.assertFalse(self.h.check_value(valhash, val, 'efgh')) self.assertFalse(self.h.check_value(valhash, val+'poop', salt)) def test_multiple_rounds(self): self.app.config['HASHING_ROUNDS'] = 5 self.h = Hashing(self.app) self.test_hash_capability() def test_different_algorithm(self): self.app.config['HASHING_METHOD'] = 'md5' self.h = Hashing(self.app) self.test_hash_capability() def test_rounds_not_int(self): self.app.config['HASHING_ROUNDS'] = 'notanint' self.assertRaises(TypeError, Hashing().init_app, self.app) self.app.config['HASHING_ROUNDS'] = 1 def test_algorithm_not_valid(self): self.app.config['HASHING_METHOD'] = 'notahashalgorithm' self.assertRaises(ValueError, Hashing().init_app, self.app)
from flask import Flask, render_template, request, redirect, url_for from flask import session, flash from flask import jsonify import os, sys from functools import wraps import MySQLdb from flask.ext.hashing import Hashing import socket, threading, time from threading import Lock #create app object app = Flask(__name__) #hashing lines from hello3 #bcrypt = Bcrypt(app) hashgun = Hashing(app) # config app.secret_key = os.urandom(11) # host and port for the socket host = '0.0.0.0' port = 10000 #Open db connection db = MySQLdb.connect("localhost", "SGDAdmin", "password", "WEBAPP") #prepare cursor object cursor = db.cursor() #execute SQL query cursor.execute("SELECT VERSION()")
import os from flask.ext.script import Manager, Command from flask.ext.hashing import Hashing from stacktracker import app try: input = raw_input except NameError: pass manager = Manager(app) hashing = Hashing(app) @manager.command def initdb(): """Initializes an empty application database""" from stacktracker import db db.create_all() @manager.command def dumpconfig(): """Dumps the application's current config""" from pprint import pprint pprint(app.config) @manager.command def admin(email):
def setUp(self): self.app = Flask(__name__) self.app.config['HASHING_METHOD'] = 'sha256' self.h = Hashing(self.app)
def test_different_algorithm(self): self.app.config['HASHING_METHOD'] = 'md5' self.h = Hashing(self.app) self.test_hash_capability()
def test_multiple_rounds(self): self.app.config['HASHING_ROUNDS'] = 5 self.h = Hashing(self.app) self.test_hash_capability()