
Хеширование паролей в Python: что знать до первой строки кода
Как хранить пароли в Python-приложении, чтобы утечка базы не превратилась в утечку паролей. Разбираем bcrypt, Argon2 и почему hashlib с солью — не то, что вам нужно.

Как хранить пароли в Python-приложении, чтобы утечка базы не превратилась в утечку паролей. Разбираем bcrypt, Argon2 и почему hashlib с солью — не то, что вам нужно.

За полчаса вы научитесь правильно хешировать пароли в Python через bcrypt или Argon2 и перестанете хранить их в открытом виде или под MD5. Разберём типичные ошибки, на которых горят новички.

За полчаса вы настроите правильное хеширование паролей на bcrypt и Argon2 в Python 3.12, проверите совпадение при входе и увидите, почему хранить пароли в открытом виде или на MD5 — брак.

За полчаса вы научитесь находить и удалять повторяющиеся строки в CSV-файле с помощью pandas: от полных дубликатов до совпадений по одному столбцу.

Как найти повторы в списках, строках CSV и таблицах pandas за несколько строк кода. Готовые фрагменты, которые можно скопировать и запустить прямо сейчас.

Дубликаты в датасете портят агрегаты и раздувают базу. Разбираем, чем set отличается от pandas.duplicated, как ловить нечёткие совпадения и где каждый подход ломается на реальных данных.

Наивное сравнение двух логов построчно загрузило память до 4 ГБ на файле в 800 МБ. Разбираем, почему difflib и чтение целиком ломаются на больших данных и чем их заменить.

difflib, filecmp, hashlib и слияние данных — какой инструмент решает вашу задачу, где каждый ломается и чем платите за выбор в реальном проекте.

Три задачи — «одинаковы ли два файла», «что изменилось построчно» и «найди дубликаты в тысяче файлов» — решаются разными инструментами. Разбираем, что выбрать и чем платишь за каждый вариант.

Как отсортировать список словарей сразу по нескольким полям и не наступить на грабли с обратным порядком, None и смешанными типами. Разбор на рабочих примерах для Python 3.x.

За 15 минут разберётесь, как сортировать список словарей и кортежей сразу по двум-трём полям — например, сначала по фамилии, потом по возрасту, где-то по возрастанию, где-то по убыванию.

Как отсортировать список словарей сразу по нескольким полям — сначала по одному, потом по другому, да ещё в разных направлениях. Разбираем sorted, key, itemgetter и приём с reverse на конкретных данных.