Uploaded the files
A-1 versions of all three files have been attached
This commit is contained in:
96
sierra-security-verification-v-a-1.py
Normal file
96
sierra-security-verification-v-a-1.py
Normal file
@@ -0,0 +1,96 @@
|
||||
# ____ _ ____ _ _
|
||||
# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
|
||||
# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
|
||||
# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
|
||||
# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
|
||||
# Verification V. A-1 |___/ 20260128
|
||||
|
||||
# Required imports:
|
||||
import datetime, hashlib, uuid, sys
|
||||
|
||||
# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
|
||||
|
||||
sierra_verification_chances = 3
|
||||
|
||||
def sierra_get_key(): # Get a key
|
||||
while True:
|
||||
try:
|
||||
key = int(input("Enter a key (0-999) > "))
|
||||
if 0 <= key <= 999:
|
||||
return f"{key:03d}" # Format as 3-digit with leading zeros
|
||||
else:
|
||||
print("Key must be between 0 and 999. Please try again.")
|
||||
except ValueError:
|
||||
print("Invalid input. Enter a number between 0 and 999.")
|
||||
|
||||
def sierra_create_time_code(): # Get the 12-digit time code
|
||||
now = datetime.datetime.now()
|
||||
minutes = (now.minute // 15) * 15 # Quarter Hours
|
||||
rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
|
||||
return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
|
||||
|
||||
def sierra_create_key(key, time_code): # Combine key and time code
|
||||
combined = f"{key}{time_code}"
|
||||
hash_obj = hashlib.sha256(combined.encode())
|
||||
hash_hex = hash_obj.hexdigest()
|
||||
namespace = uuid.NAMESPACE_DNS
|
||||
name = combined.encode()
|
||||
deterministic_uuid = uuid.uuid5(namespace, combined)
|
||||
return str(deterministic_uuid)
|
||||
|
||||
def sierra_verify():
|
||||
global sierra_verification_chances
|
||||
key = sierra_get_key()
|
||||
time_code = sierra_create_time_code()
|
||||
correct_uuid = sierra_create_key(key, time_code)
|
||||
user_uuid = input("Enter UUID > ").strip()
|
||||
|
||||
# Compare
|
||||
if user_uuid == correct_uuid:
|
||||
print("Verification Successful.")
|
||||
return True
|
||||
else:
|
||||
sierra_verification_chances -= 1
|
||||
print(f"Verification Failed. {sierra_verification_chances} chances left.")
|
||||
|
||||
def sierra_create_uuid():
|
||||
key = sierra_get_key()
|
||||
time_code = sierra_create_time_code()
|
||||
generated_uuid = sierra_create_key(key, time_code)
|
||||
|
||||
print(f"""
|
||||
Generated Key and UUID:
|
||||
Key: {key}
|
||||
UUID: {generated_uuid}
|
||||
""")
|
||||
|
||||
def sierra():
|
||||
global sierra_verification_chances
|
||||
print("=" * 80)
|
||||
print("Sierra Security Verification Version A-1")
|
||||
print("-" * 80)
|
||||
|
||||
try:
|
||||
while True and sierra_verification_chances > 0:
|
||||
print("""Select a mode:
|
||||
[1] Verify a UUID
|
||||
[2] Exit
|
||||
""")
|
||||
|
||||
choice = input("Enter your choice > ").strip()
|
||||
if choice == "1":
|
||||
verification_result = sierra_verify()
|
||||
if verification_result:
|
||||
break
|
||||
elif choice == "2":
|
||||
print("Exiting.")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("Error: Invalid choice.")
|
||||
sys.exit(0)
|
||||
except KeyboardInterrupt:
|
||||
print("\nUser Terminated (Ctrl + C.)")
|
||||
|
||||
if __name__ == "__main__":
|
||||
sierra()
|
||||
# ==========================================================================================================
|
||||
Reference in New Issue
Block a user