search

DAY CODING JOURNEY)

Jan 08, 2025 am 07:05 AM

DAY CODING JOURNEY)

Continuing my coding journey (Day 1 remains unwritten, perhaps forever!), I'm tackling a real-time user verification program to deter unauthorized access. It's a seemingly simple idea, but hear me out.

Intended Functionality:

The program discreetly runs upon system startup, periodically (e.g., hourly) prompting for a password. Crucially, it maintains high priority, preventing closure or minimization. Incorrect password entry results in system shutdown.

from tkinter import *
import subprocess
import threading
import time
import getpass # Added for secure password input

window = Tk()
window.title("User Verification")
window.config(background="black")

# Initialize password (should be replaced with a more secure method)
q = getpass.getpass("Set initial password: ")

entry = Entry(window,
              fg='#00FF00',
              bg='black',
              font=('Arial',30),
              show='*') # Mask password input
entry.pack(side=RIGHT)

def verify_user():
    global q
    while True:
        y = entry.get()
        if y != q:
            subprocess.run('shutdown /s', shell=True)
            break  # Exit the loop after shutdown
        else:
            print('Verification successful.')
            # Replace password here (securely!)
            q = getpass.getpass("Set new password: ")
            entry.delete(0, END) # Clear entry field
        time.sleep(3600) # Check every hour

def start_verification():
    verification_thread = threading.Thread(target=verify_user)
    verification_thread.daemon = True # Allow program to exit even if thread is running
    verification_thread.start()

u = Button(window,
           text='Start Verification', # Changed button text
           fg='#00FF00',
           bg='black',
           command=start_verification)
u.pack(side=BOTTOM)


t = Label(window,
          text='Enter Password:', # Simplified label text
          font=('Arial',15),
          fg='#00FF00',
          bg='black')
t.pack(side=LEFT)

window.mainloop()

Planned Enhancements:

This is a rudimentary version. Future improvements include:

  • Dynamic Password Changes: Implement a secure method for changing the password after each successful verification. The current getpass module provides a start, but more robust password management is needed.
  • Background Threading: The code now uses a daemon thread to run the verification process in the background, allowing the main window to remain responsive (though minimally so).

Disclaimer: This is a basic example and lacks robust security features. Use at your own risk. For production-level security, use established authentication systems. Suggestions welcome (but no guarantees of responses!).

The above is the detailed content of DAY CODING JOURNEY). For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How do you slice a Python list?How do you slice a Python list?May 02, 2025 am 12:14 AM

SlicingaPythonlistisdoneusingthesyntaxlist[start:stop:step].Here'showitworks:1)Startistheindexofthefirstelementtoinclude.2)Stopistheindexofthefirstelementtoexclude.3)Stepistheincrementbetweenelements.It'susefulforextractingportionsoflistsandcanuseneg

What are some common operations that can be performed on NumPy arrays?What are some common operations that can be performed on NumPy arrays?May 02, 2025 am 12:09 AM

NumPyallowsforvariousoperationsonarrays:1)Basicarithmeticlikeaddition,subtraction,multiplication,anddivision;2)Advancedoperationssuchasmatrixmultiplication;3)Element-wiseoperationswithoutexplicitloops;4)Arrayindexingandslicingfordatamanipulation;5)Ag

How are arrays used in data analysis with Python?How are arrays used in data analysis with Python?May 02, 2025 am 12:09 AM

ArraysinPython,particularlythroughNumPyandPandas,areessentialfordataanalysis,offeringspeedandefficiency.1)NumPyarraysenableefficienthandlingoflargedatasetsandcomplexoperationslikemovingaverages.2)PandasextendsNumPy'scapabilitieswithDataFramesforstruc

How does the memory footprint of a list compare to the memory footprint of an array in Python?How does the memory footprint of a list compare to the memory footprint of an array in Python?May 02, 2025 am 12:08 AM

ListsandNumPyarraysinPythonhavedifferentmemoryfootprints:listsaremoreflexiblebutlessmemory-efficient,whileNumPyarraysareoptimizedfornumericaldata.1)Listsstorereferencestoobjects,withoverheadaround64byteson64-bitsystems.2)NumPyarraysstoredatacontiguou

How do you handle environment-specific configurations when deploying executable Python scripts?How do you handle environment-specific configurations when deploying executable Python scripts?May 02, 2025 am 12:07 AM

ToensurePythonscriptsbehavecorrectlyacrossdevelopment,staging,andproduction,usethesestrategies:1)Environmentvariablesforsimplesettings,2)Configurationfilesforcomplexsetups,and3)Dynamicloadingforadaptability.Eachmethodoffersuniquebenefitsandrequiresca

How do you slice a Python array?How do you slice a Python array?May 01, 2025 am 12:18 AM

The basic syntax for Python list slicing is list[start:stop:step]. 1.start is the first element index included, 2.stop is the first element index excluded, and 3.step determines the step size between elements. Slices are not only used to extract data, but also to modify and invert lists.

Under what circumstances might lists perform better than arrays?Under what circumstances might lists perform better than arrays?May 01, 2025 am 12:06 AM

Listsoutperformarraysin:1)dynamicsizingandfrequentinsertions/deletions,2)storingheterogeneousdata,and3)memoryefficiencyforsparsedata,butmayhaveslightperformancecostsincertainoperations.

How can you convert a Python array to a Python list?How can you convert a Python array to a Python list?May 01, 2025 am 12:05 AM

ToconvertaPythonarraytoalist,usethelist()constructororageneratorexpression.1)Importthearraymoduleandcreateanarray.2)Uselist(arr)or[xforxinarr]toconvertittoalist,consideringperformanceandmemoryefficiencyforlargedatasets.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.