def test_hash_pwd_different_times(self): """ Controlla che due password che sono hashate un numero diverso di volte producano una stringa finale diversa """ # 0 e numeri negativi non sono supportati by design for n in xrange(2, 10): self.assertNotEqual( cryptohelper.hash_pwd(self.password, self.salt, rounds=1), cryptohelper.hash_pwd(self.password, self.salt, rounds=n))
def setUpClass(cls): # Nota bene: Questo metodo viene richiamato all'inizio della suite di # test, non prima di ogni test (quella è la funzione setUp), quindi # tutte le operazioni e le assegnazioni qui dentro verranno eseguite # sempre e solo una volta, prima di tutti i test singoli init_db(SCHEMA, DBFILE) cls.users = ( ("user", "pass"), ("name", "word"), ("leeloo", "multipass"), ) cls.url = "http://127.0.0.1:5000/v1/days" users_with_hashed_passwords = map(lambda t: (t[0], hash_pwd(t[1])), cls.users) populate_db(DBFILE, users_with_hashed_passwords)
#! /usr/bin/env python #-*- coding: utf-8 -*- # pylint: disable = missing-docstring import argparse from cryptohelper import hash_pwd import sqlite3 DEV_USERS = ( ("admin", hash_pwd("admin")), ("foo", hash_pwd("bar")), ("pippo", hash_pwd("pluto")) ) def connect_db(dbfile): return sqlite3.connect(dbfile) def init_db(schema, dbfile): conn = connect_db(dbfile) with open(schema, "r") as fd: conn.cursor().executescript(fd.read()) conn.commit() conn.close() def populate_db(dbfile, userpasses=DEV_USERS): conn = connect_db(dbfile) query = "insert into users (username, password) values (?, ?);" for elem in userpasses:
def setUpClass(cls): cls.password = "******" cls.salt = "12345678901234567890123456789012" cls.rounds = 1 # I test devono essere veloci cls.b64str = cryptohelper.hash_pwd(cls.password, cls.salt, rounds=cls.rounds)