Top.Mail.Ru
Ответы
Аватар пользователя
3 недели назад
от
Изменено

Помогите переделать код на python

Есть код на пайтон для вытаскивание паролей с ников ( с подключенной базой)
он вытаскивает только в формате ник:пароль, а нужно примерно так: ('vanya120', '55555', 'ReallyWorld', '', ''),

(ник:пароль:сервер)

и такой: ('lolceccheburek', '$SHA$1b45cb0dd9af93f0$0ece12cc14af1eca157308fa6b6bfdd2c1a3f3bde4695399aeadcf097e76558f', 'MelonCraft', '', ''),

(ник:хеш:сервер)

сам код:
from flask import Flask, render_template, request, jsonify
import webbrowser
import threading
import os

app = Flask(__name__)

def open_browser():
webbrowser.open _new('127.0.0.1:5000/')

def search_in_file(nickname):
results = []
if os.path.exists('base.txt'):
with open('base.txt', 'r') as file:
for line in file:
parts = line.strip().split(':')
if parts[0].lower() == nickname.lower():
results.append(parts)
return results


@app.route('/')
def index():
return render_template('index.html')

@app.route('/search', methods=['POST'])
def search():
nickname = request.form['nickname']
search_result = search_in_file(nickname)
return jsonify(search_result)

if __name__ == '__main__':
threading.Thread(target=open_browser).start()
app.logger.disabled = True
print("Скрипт запущен на 127.0.0.1:5000")
app.run ()

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Мастер
3нед

from flask import Flask, render_template, request, jsonify
import webbrowser
import threading
import os

app = Flask(__name__)

def open_browser():
webbrowser.open _new('/')

def search_in_file(nickname):
results = []
if os.path.exists('base.txt'):
with open('base.txt', 'r', encoding='utf-8') as file:
for line in file:
parts = line.strip().split(':')
if len(parts) >= 3:
# parts[0] - ник, parts[1] - пароль/хеш, parts[2] - сервер
if parts[0].lower() == nickname.lower():
results.append((parts[0], parts[1], parts[2], '', ''))
return results

@app.route('/')
def index():
return render_template('index.html')

@app.route('/search', methods=['POST'])
def search():
nickname = request.form['nickname']
search_result = search_in_file(nickname)
return jsonify(search_result)

if __name__ == '__main__':
threading.Thread(target=open_browser).start()
app.logger.disabled = True
print("Скрипт запущен на")
app.run ()

Что изменил:
Теперь в search_in_file():

Каждая строка из файла обрабатывается как минимум из трёх частей: ник : пароль : сервер.

Формат возвращаемого результата: (ник, пароль/хеш, сервер, '', '').

Если в файле base.txt в строке чего-то не хватает (например, сервера нет) — просто пропускается или можно дополнительно обработать.

Используется кодировка 'utf-8' для правильного чтения русских и спецсимволов.

Благодарим за вопрос. GLAVQA