initial commit

This commit is contained in:
Greg Gauthier 2019-03-11 16:29:14 +00:00
commit 5b4d21b786
6 changed files with 87 additions and 0 deletions

11
Pipfile Normal file
View File

@ -0,0 +1,11 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
[requires]
python_version = "3.7"

3
cfg/config.json Normal file
View File

@ -0,0 +1,3 @@
{
"keyfile":"keyfile.json"
}

10
configuration.py Normal file
View File

@ -0,0 +1,10 @@
import json
class Configuration:
def __init__(self):
with open('cfg/config.json') as cfgfile:
self.data = json.load(cfgfile)
def get_keyfilename(self):
return self.data["keyfile"]

49
credentials.py Normal file
View File

@ -0,0 +1,49 @@
import hashlib
import json
import uuid
from random import randint
from secrets import choice
from string import ascii_letters, digits
from configuration import Configuration
class Credentials:
def __init__(self):
with open(Configuration().get_keyfilename(), mode="r+") as keydata:
self.keys = json.load(keydata)
def get_keys(self):
return self.keys
def add_key(self, service, username, password):
pass
def get_key_by_service(self, service):
return self.keys[service]
@staticmethod
def gen_password(mn=12, mx=64):
return [
''.join(choice(ascii_letters + digits)
for _ in range(randint(mn, mx)))
]
@staticmethod
def hash_password(password):
salt = uuid.uuid4().hex
return hashlib.sha512(
salt.encode() + password.encode()).hexdigest() + ':' + salt
@staticmethod
def check_password(hashed_password, user_password):
password, salt = hashed_password.split(':')
return password == hashlib.sha512(
salt.encode() + user_password.encode()).hexdigest()
@staticmethod
def dsa_encode(password):
hash_object = hashlib.new('DSA')
hash_object.update(password)
return hash_object.h

10
keyfile.json Normal file
View File

@ -0,0 +1,10 @@
{
"twitter": {
"username": "@alwaysexiting",
"password": "some-password"
},
"youtube": {
"username": "exitingthecave@gmail.com",
"password": "somepassword"
}
}

4
testing.txt Normal file
View File

@ -0,0 +1,4 @@
line one
line two
line three
line fourline fiveline six