Fedor Ezeev

34.6K posts

Fedor Ezeev banner
Fedor Ezeev

Fedor Ezeev

@fezeev

Python developer, человек-оркестр

И от Цезаря далёко и от вьюги Katılım Şubat 2011
277 Takip Edilen2.6K Takipçiler
Sabitlenmiş Tweet
Fedor Ezeev
Fedor Ezeev@fezeev·
После того, как за месяц я выработал привычку не пить сладкий чай и это весьма позитивно сказалось на моём самочувствии - я решил придумать для себя ещё какой-нибудь месячный челлендж для выработки новой полезной привычки.
Fedor Ezeev@fezeev

Из заметных результатов - улучшилось самочувствие и повысилась работоспособность. Перестало возникать инсулиновое коматозное состояние. И в целом как-то пободрее стал.

Русский
4
0
8
2.1K
Fedor Ezeev
Fedor Ezeev@fezeev·
@alonaobrant Там такой комплекс многокомнатный, оказывается!!
Русский
0
0
0
15
Fedor Ezeev
Fedor Ezeev@fezeev·
Тревога на рынке - чек
Русский
1
1
0
143
Yuriy Gerasimov
Yuriy Gerasimov@YurBurGer·
@fezeev @hhhannahmm66312 Я всё же встану на сторону автора ответа. Потому что всё, что может быть истолкованно двояко, будет истолкованно неправильно и тут же использованно против вас. А ограничения на символы не позволяют трартить их на размазанную трактовку. И с учётом потока инфы разбираться лень.
Русский
1
0
0
4
Fedor Ezeev
Fedor Ezeev@fezeev·
Я не понял, что он предлагает? Создавать учётки с доступом без пароля?
Fedor Ezeev tweet media
Русский
7
0
15
5.5K
Fedor Ezeev
Fedor Ezeev@fezeev·
@empty22ai Подошло в итоге преобразование строки с паролем в байты.
Русский
1
0
0
16
Fedor Ezeev
Fedor Ezeev@fezeev·
@empty22ai Я согласен. Писал спросоня, получилось несколько смазанно. Но ведь можно вопрос задать, а не сразу сваливаться в суждения с оценками. Вот, например, человек спросил, и получил исчерпывающий ответ: x.com/virtyos07/stat…
Sergei@virtyos07

@fezeev @norpadon Ты хранишь пароли в бд в явном виде?

Русский
1
0
0
179
Fedor Ezeev
Fedor Ezeev@fezeev·
@dimonb Ща, рабочий день придёт и я всерьёз об этом подумаю
Русский
0
0
1
9
@dimonb
@dimonb@dimonb·
@fezeev Так сделай пулреквест ) и почини. Это же опенсорс
Русский
1
0
1
11
Fedor Ezeev
Fedor Ezeev@fezeev·
@dimonb Я вижу как минимум два решения. 1 - использовать имеющийся ключ "charset" 2 - если хочется разделить чарсет таблицы от чарсета пароля - добавить ещё один ключ, типа "password_charset"
Русский
1
0
1
58
@dimonb
@dimonb@dimonb·
Да, решение неоднозначное… ну то есть понятно что из юникодной строки нужно как-то сконвертировать в бинарную чтобы в базу послать. Можно бы было просто кинуть исключение: мол положи бинари в пароль, но не юзерфрендли. Не utf-8, видимо, потому что зависит от локали базы которую чтобы узнать к базе надо подключиться
Русский
1
0
0
67
Fedor Ezeev
Fedor Ezeev@fezeev·
@dimonb Парадокс в том, что проблемный код был добавлен ровно в тот момент, когда они отказывались от поддержки python 2.7 и всего что ниже 3.6
Русский
1
0
0
65
@dimonb
@dimonb@dimonb·
@fezeev Так там небось из python2 )
Русский
1
0
0
66
Fedor Ezeev
Fedor Ezeev@fezeev·
@dimonb То легаси, с которым я столкнулся - это не из самого mysql, а из конкретной библиотеки pymysql, а они кажется не связаны с ораклом
Русский
1
0
0
61
@dimonb
@dimonb@dimonb·
@fezeev Так MySQL оракл развивает, а там легаси не выпиливают!
Русский
1
0
0
62
Fedor Ezeev
Fedor Ezeev@fezeev·
@dimonb postgresql буквально на год-полтора моложе
Български
1
0
2
192
@dimonb
@dimonb@dimonb·
@fezeev Если учесть что MySQL уже лет 30, то некое количество легаси там простительно
Русский
1
0
0
222
Fedor Ezeev
Fedor Ezeev@fezeev·
@hhhannahmm66312 Всё так. И многие слишком быстро бросаются в суждения, вместо того, чтобы задавать вопросы.
Русский
2
0
2
538
hhhannahmmmontana
hhhannahmmmontana@hhhannahmm66312·
@fezeev вероятно, что автор (как и я, когда прочитал пост) подумал, что речь идет не про пароль от бд, а про пароль пользователя (который хэшировать надо). а под словами "mysql?" он, возможно, имел в виду, что щас модно делать постгрес, и не понимает, что для каждой бд есть своя цель.
Русский
2
0
3
631
Fedor Ezeev
Fedor Ezeev@fezeev·
@ChezRD Это код библиотеки pymysql. Коммит был сделан 8 лет назад.
Русский
1
0
0
102
✍️ Чез 🦄@
@fezeev А вот это на скрине пахнет каким-то очень древним кодом. Я такое в 2010 то не видел уже
Русский
1
0
1
102
Fedor Ezeev
Fedor Ezeev@fezeev·
@ChezRD насколько стандартным клиентом для тебя является pymysql?
Русский
1
0
0
21
✍️ Чез 🦄@
@fezeev А мы не храним пароли в базе)) и если речь про подключение к базе, то как правило это спрятанная в секрет или vault строка, которая достается и обрабатывается как чистый utf-8, что стандартными клиентами всегда корректно парсится
Русский
2
0
1
129
Fedor Ezeev
Fedor Ezeev@fezeev·
@ChezRD Кажется программисты так часто решают задачу хранения пароля в базе, и так редко вводят разные пароли для логинов, что все подряд (включая Клод и Курсор) пытаются решить совершенно не ту проблему, с которой я столкнулся (и уже решил). x.com/fezeev/status/…
Fedor Ezeev@fezeev

@virtyos07 @norpadon Нет. Это pymysql хранит в классе Connection пароль соединения, заенкоденный в latin1.

Русский
1
0
0
640
✍️ Чез 🦄@
В MySQL utf8 - это не UTF-8, а фунт (£) в latin1 и utf8mb4 имеет разную длину в байтах. Без явного SET NAMES и utf8mb4 на клиенте ловить нечего. А с недавних пор еще и без utf8mb4_0900_ai_ci, что довольно большая боль из-за разных COLLATE с общераспространенным utf8mb4_general_ci.
Русский
1
0
1
784
Fedor Ezeev
Fedor Ezeev@fezeev·
@acidumKey @i3Cheese Это не ко мне вопрос. Я логинюсь с тем паролем, который мне выдали. Разобраться в моей проблеме заняло день, поменять пароль заняло бы неделю.
Русский
1
0
6
664
Сенников 🍎🍏
@fezeev @i3Cheese Зачем для коннекта к БД настолько муторный пароль?) Даже если нужна супер мега убер гипер секьюрность, то можно просто 5 UUID сконкатенировать и получится мегабезопасный пароль...
Русский
1
0
0
658
Fedor Ezeev
Fedor Ezeev@fezeev·
@adworse Если это был ответ на мои вопросы, то я его не понял.
Русский
1
0
1
456
Dima E.
Dima E.@adworse·
@fezeev это bait, правда?
Русский
1
0
1
521
Fedor Ezeev
Fedor Ezeev@fezeev·
@i3Cheese Я пользователь. Я не смог подключиться к базе, потому что в выданном мне пароле был символ из юникода.
Русский
1
0
10
951
Чиз🧀
Чиз🧀@i3Cheese·
@fezeev Хранит хэш от пароля. Желательно его ещё посолить (погугли). При входе сравнивать хэши. Так пароль твоих пользователей не утекут.
Русский
3
0
13
1K