Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Interface Login com CustomTkinter

Sistema de login com interface gráfica moderna, banco de dados SQLite e armazenamento seguro de senhas com hash SHA-256.


📋 Sobre o Projeto

Aplicação desktop com interface gráfica construída em Python usando CustomTkinter. Permite criar usuários e realizar login com autenticação real via banco de dados. As senhas nunca são armazenadas em texto puro — são convertidas em hash SHA-256 antes de serem salvas.


✨ Funcionalidades

  • 🖥️ Interface gráfica moderna com tema escuro (dark mode)
  • 👤 Cadastro de novos usuários em uma janela separada
  • 🔒 Login com autenticação via banco de dados SQLite
  • 🔑 Senhas armazenadas com hash SHA-256 (nunca em texto puro)
  • 👁️ Toggle para mostrar/ocultar senha
  • ⚠️ Feedback visual de sucesso e erro diretamente na tela

🛠️ Tecnologias Utilizadas

Tecnologia Uso
Python 3 Linguagem principal
CustomTkinter Interface gráfica moderna
SQLite3 Banco de dados local
Hashlib (SHA-256) Hash seguro de senhas

📁 Estrutura do Projeto

├── main.py        # Interface gráfica e lógica da aplicação
├── database.py    # Conexão com banco, criação de tabela e funções CRUD
├── banco.db       # Banco de dados SQLite (gerado automaticamente)
└── README.md

▶️ Como Executar

1. Clone o repositório:

git clone https://github.com/semendeZ0/Login_CTk.git
cd Login_CTk

2. Crie e ative o ambiente virtual:

python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux/macOS
source .venv/bin/activate

3. Instale a dependência:

pip install customtkinter

4. Execute:

python main.py

O arquivo banco.db é criado automaticamente na primeira execução.


🔐 Segurança

As senhas são processadas com hashlib.sha256() antes de qualquer operação com o banco de dados. Isso significa que nem quem tiver acesso direto ao arquivo .db consegue ver as senhas reais.

senha_hash = hashlib.sha256(senha.encode()).hexdigest()

📸 Preview

Interface principal com tema dark-blue do CustomTkinter.


👨‍💻 Autor

Feito por Erick — @semendeZ0



🔐 Login Interface with CustomTkinter

A login system with a modern graphical interface, SQLite database, and secure password storage using SHA-256 hashing.


📋 About the Project

A desktop application with a graphical interface built in Python using CustomTkinter. It allows users to register and log in with real database authentication. Passwords are never stored in plain text — they are converted to a SHA-256 hash before being saved.


✨ Features

  • 🖥️ Modern graphical interface with dark mode theme
  • 👤 New user registration in a separate window
  • 🔒 Login with SQLite database authentication
  • 🔑 Passwords stored as SHA-256 hashes (never in plain text)
  • 👁️ Toggle to show/hide password
  • ⚠️ Visual success and error feedback directly on screen

🛠️ Technologies Used

Technology Purpose
Python 3 Main language
CustomTkinter Modern graphical interface
SQLite3 Local database
Hashlib (SHA-256) Secure password hashing

📁 Project Structure

├── main.py        # Graphical interface and application logic
├── database.py    # Database connection, table creation and CRUD functions
├── banco.db       # SQLite database (auto-generated)
└── README.md

▶️ How to Run

1. Clone the repository:

git clone https://github.com/semendeZ0/Login_CTk.git
cd Login_CTk

2. Create and activate the virtual environment:

python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux/macOS
source .venv/bin/activate

3. Install the dependency:

pip install customtkinter

4. Run:

python main.py

The banco.db file is created automatically on the first run.


🔐 Security

Passwords are processed with hashlib.sha256() before any database operation. This means that even someone with direct access to the .db file cannot see the actual passwords.

senha_hash = hashlib.sha256(senha.encode()).hexdigest()

📸 Preview

Main interface with CustomTkinter's dark-blue theme.


👨‍💻 Author

Made by Erick — @semendeZ0

About

Simple login screen made in CustomTkinter

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages