Pull to refresh
2
0
Send message

Благодарю за подробный ответ!

Спасибо за актуальную и подробную статью!) Помогите разобаться в нескольких моментах схемы на базе протокола SRP:

  1. scrypt предлагается использовать везде далее в алгоритме вместо SHA-1 или только для вычисления x? т.е. hash() в описанном алгоритме это scrypt() или SHA-256?

  2. почему A и B получаются 2048-битные?

  3. числа N и g используются из спецификации постоянно? Есть необходимость их генерировать под каждый проект (сайт) или под каждого пользователя сайта?

  4. зачем клиенту посыласть дважды свою соль серверу при регистрации в пунктах 1 и 6?

  5. какая группа N и g подразумевается в вашем алгоритме (скольки битная)?

В тексте схемы защиты на симметричных ключах нет картинки формулы K=hmac_{H_p}(salt)

Часть вашего ответа стоит добавить в статью) или действительно написать подробно новую на эту тему)

Из описания type Stmt в документации показалось, что GO самостоятельно "готовит" операторы без участия БД. А также то, что параметр interpolateParams является частью метода DB.Open(), воспринималось как обязательное ко всем действиям с БД.

Спасибо, вы сэкономили много времени!

Вобщем, не стоит складировать *Stmt а использовать их только в для однотипных действий в рамках одного соединения, как в примере документации.

Спасибо за отличную и актуальную статью!

Есть пара моментов, которые очень хочется понять при одновременном использовании interpolateParams=true, DB.Prepare(query) и DB.SetMaxOpenConns(n) для http-сервера:

Первый. Если глобально складывать часто используемые подготовленные операторы в карту

stmt := DB.Prepare(query)
stmtMap[query] = stmt

а потом их брать оттуда для выполнения запросов к базе от разных http-клиентов

results, err := stmtMap[query].Query(userId)

то при в включенном interpolateParams=true это вообще имеет смысл? Что происходит в данном случае, stmt хранится в памяти GO и на сервер MySQL не передается? Экономия только на подготовке запроса в GO? Или все равно передается, но уже подготавливается новый оператор с включенным параметром userId? Тогда получается двойная работа...

Второй. Подготовленные операторы stmt := DB.Prepare(query) вроде как привязываются к конкретному соединению, после отправки на сервер MySQL. Получается один stmt будет дублироваться в каждое соединение из пула DB.SetMaxOpenConns(n) при запросе с его использованием? При желании сохранять stmt в карте (памяти GO) вызов stmt.Close() после каждого клиента не предполагается... Или вызов stmt.Close() освобождает только соединение от stmt и сохранит его в пригодном виде в stmtMap для повторного использования новыми http-клиентами?

Буду благодарен за разъяснения:)

Серьезная недоработка для Zyxel, но они исправятся обязательно! А пока выгоднее взять Microdrive, еще и статика по воздуху «без бубна», оказывается, теперь не проблема.
Роутер должен уметь пробрасывать порты не только с интерфейса WAN, по которому идет прием и передача данных в сеть, но и с VPN-канала.
Не понято, как с этим обстоят дела у испытуемых?

Information

Rating
Does not participate
Registered
Activity