Skip to content

A secure, multi-threaded chat application that encrypts all communications and stores hashed passwords. Provides both broadcast and private messaging features, ensuring safe and private conversations. Ideal for secure, real-time communication.

License

Notifications You must be signed in to change notification settings

Volkov-Dev/securus-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecurusChat - A Secure Multi-Threaded Fully Encrypted ChatApp (Java)

Overview

This repository contains a secure, multi-threaded chat application that ensures all communications between clients are encrypted. User passwords are securely hashed before storage, ensuring the highest level of security and privacy.

Features

  • Secure Communication: All messages between clients and server are encrypted using AES-128.
  • Multi-Threaded Server: Handles multiple clients concurrently.
  • Hashed Passwords: Uses SHA-256 for storing user passwords.
  • User Registration and Login: Allows new users to register and existing users to log in.
  • Broadcast Messaging: Sends messages from one client to all other connected clients.
  • Private Messaging: Allows clients to send private messages to specific users.
  • Client Management: Keeps track of connected clients and manages their sessions.
  • Connection Handling: Gracefully handles client connections and disconnections.
  • Console-Based User Interface: Provides an intuitive interface for interaction.

Files

  • ChatClient.java: Handles the client-side operations of the chat application.
  • ChatServer.java: Manages server-side operations and handles multiple client connections.
  • HashUtil.java: Provides utilities for hashing passwords.
  • user_credentials.txt: Contains sample user credentials stored as hashed values.

Setup and Installation

  1. Clone the repository
git clone https://github.com/yourusername/secure-chatapp.git
cd secure-chatapp
  1. Compile the source code
javac ChatClient.java ChatServer.java HashUtil.java
  1. Run the server
java ChatServer
  1. Run the client
java ChatClient

Usage

  1. Start the server by running the ChatServer class.
  2. Start multiple clients by running the ChatClient class for each client.
  3. Follow the prompts in the client console to log in or register.
  4. Enjoy secure, encrypted communication with other connected clients.

Security

  • Encryption: All communications between clients and server are encrypted using AES-128 to prevent eavesdropping.
  • Password Hashing: User passwords are hashed using SHA-256 algorithm to protect against password breaches.

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss what you would like to change.

License

This project is licensed under the GPLv3 License - see the LICENSE file for details.

About

A secure, multi-threaded chat application that encrypts all communications and stores hashed passwords. Provides both broadcast and private messaging features, ensuring safe and private conversations. Ideal for secure, real-time communication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages