initial commit
This commit is contained in:
commit
5b4d21b786
11
Pipfile
Normal file
11
Pipfile
Normal 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
3
cfg/config.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"keyfile":"keyfile.json"
|
||||||
|
}
|
10
configuration.py
Normal file
10
configuration.py
Normal 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
49
credentials.py
Normal 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
10
keyfile.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"twitter": {
|
||||||
|
"username": "@alwaysexiting",
|
||||||
|
"password": "some-password"
|
||||||
|
},
|
||||||
|
"youtube": {
|
||||||
|
"username": "exitingthecave@gmail.com",
|
||||||
|
"password": "somepassword"
|
||||||
|
}
|
||||||
|
}
|
4
testing.txt
Normal file
4
testing.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
line one
|
||||||
|
line two
|
||||||
|
line three
|
||||||
|
line fourline fiveline six
|
Loading…
Reference in New Issue
Block a user