Commit 33239225 authored by sikhin.vc's avatar sikhin.vc

initial-commit

parent e129f397
import yaml
import traceback
import warnings
from loguru import logger
from scripts.constants.app_configuration import master_configuration_file
from scripts.db.mongo_connect import MongoLogger
from scripts.password_verification import PasswordVerification
from security.password_encryption import Base64Encryption
warnings.filterwarnings("ignore")
def main():
logger.info("Starting Login Page")
with open(master_configuration_file, 'r') as _cf:
master_conf = yaml.full_load(_cf)
logger.info("Connecting to mongoDB")
# try:
mongo_cred = master_conf['master_config']['mongo_cred']
db_name = master_conf['master_config']['db']
coll = master_conf['master_config']['collection']
mongo_logger = MongoLogger()
collection = mongo_logger.mongo_connect(mongo_cred, db_name, coll)
user_name = input("Enter your username")
password = input("Enter your password")
base64_encrypt = Base64Encryption()
password_encrypt = base64_encrypt.encrypt(password)
verify = PasswordVerification()
status = verify.verify(collection, user_name, password_encrypt)
print(status)
if __name__ == '__main__':
logger.info("Attempting to Start Loading Login Page")
try:
main()
except Exception as e:
traceback.print_exc()
logger.error(f"Failed to Load Login Page{str(e)}")
master_config:
project: 'Login Page'
mongo_cred: mongodb://127.0.0.1:27017
db: user_credentials
collection: cred
loguru~=0.6.0
PyYAML~=6.0
\ No newline at end of file
master_configuration_file = r"./conf/master_config.yml"
from pymongo import MongoClient
class MongoLogger():
def mongo_connect(self, mongouri, db, collection):
client = MongoClient(mongouri)
coll = client[db][collection]
print(coll)
return coll
class PasswordVerification():
def verify(self, collection, username, password):
x = collection.find({"username": username})
for res in x:
actual_password = res["password"]
if(actual_password == password):
return True
else:
return False
\ No newline at end of file
import base64
class Base64Encryption():
def encrypt(self, password):
sample_string_bytes = password.encode("ascii")
base64_bytes = base64.b64encode(sample_string_bytes)
base64_string = base64_bytes.decode("ascii")
return base64_string
def decrypt(self, base64_string):
base64_bytes = base64_string.encode("ascii")
sample_string_bytes = base64.b64decode(base64_bytes)
password = sample_string_bytes.decode("ascii")
return password
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment