МЕССЕНДЖЕР НА PYTHON С ШИФРОВАНИЕМ
Мессенджеры с шифрованием данных стали известны после скандалов с утечками пользовательской информации. К счастью, в Python есть множество библиотек для шифрования, которые можно использовать в своих проектах.
Пример кода для создания мессенджера на Python с использованием шифрования:
import socket
import threading
import hashlib
class Server:
def __init__(self):
self.host = '127.0.0.1'
self.port = 55555
self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.server.bind((self.host, self.port))
self.server.listen()
print(f"Server listening on {self.host}:{self.port}")
self.users = []
self.usernames = []
def broadcast(self, message):
for user in self.users:
user.send(message)
def handle(self, user):
while True:
try:
message = user.recv(1024)
self.broadcast(message)
except:
index = self.users.index(user)
self.users.remove(user)
username = self.usernames[index]
self.broadcast(f'{username} left the chat!'.encode('ascii'))
self.usernames.remove(username)
break
def receive(self):
while True:
user, address = self.server.accept()
print(f"Connected with {str(address)}")
user.send('USERNAME'.encode('ascii'))
username = user.recv(1024).decode('ascii')
self.usernames.append(username)
self.users.append(user)
print(f"Username of user: {username}")
self.broadcast(f"{username} joined the chat!".encode('ascii'))
user.send('Connected to the server!'.encode('ascii'))
thread = threading.Thread(target=self.handle, args=(user,))
thread.start()
class Client:
def __init__(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect(('127.0.0.1', 55555))
self.username = input("Enter username: ")
self.socket.send(self.username.encode('ascii'))
self.message = ''
receive_thread = threading.Thread(target=self.receive)
receive_thread.start()
def receive(self):
while True:
try:
message = self.socket.recv(1024).decode('ascii')
if message == 'USERNAME':
self.socket.send(self.username.encode('ascii'))
< else:
print(message)
except:
print("An error occurred!")
self.socket.close()
break
def write(self):
while True:
self.message = f"{self.username}: " + input('')
self.socket.send(self.message.encode('ascii'))
def main():
print("Type 'server' to start the server or 'client' to start the client")
mode = input() # server or client
if mode == 'server':
server = Server()
elif mode == 'client':
client = Client()
client.write()
main()
Онлайн чат на Python в 100 строк кода!
Проекты на PYTHON / СОЗДАНИЕ ЧАТА с графическим интерфейсом
Криптография и шифрование на Python. Основы для начинающих
Создаём Мессенджер на Python. Система авторизации с базой данных
ВРЕМЯ СООБЩЕНИЯ И ПРОБЛЕМЫ ШИФРОВАНИЯ. СОКЕТ ЧАТ #3.2 - Python 3, Питон 3
Как сделать свой скрипт для шифрования (+ задачка)
BLGPG-888C148B30C4-24-11-24-01
Новые материалы:
- Поле для номера телефона django
- Больше предыдущего python
- Np meshgrid python описание
- Как сравнить каждый элемент списка с каждым python
- Python создание pdf
- Наследование python классов
- Python как словарь превратить в список
- Numpy корень квадратный
- Как вставить картинку в qt designer python
- Python sqlalchemy postgresql примеры
- Асинхронные запросы python
- Python найти сумму ряда чисел от 1 до 100 полученный результат вывести на экран
- Преобразовать файл ui в python
- Python решение системы нелинейных уравнений
- Чистая функция python