Изначально предполагалось что будет прикрепляться единственный файл — коммерческое предложение, либо эскиз заказываемого товара.
Но в итоге понятно что нужен удобный механизм загрузки нескольких файлов. Сделаем.
Согласен, но скайп-собеседование длилось всего 15 минут, а все остальное было уже после решения по ТОП-100. Мы решили, что тем 800+ командам, которые не прошли в ТОП-100 будет интересно посмотреть образец успешной заявки. Рекомендации от ФРИИ, конечно же, будут еще интереснее.
TypeScript в действии
При наборе кода в VisualStudio доступна богатая подсказка
Самая важная фича, остальное можно не читать!
А серьёзно — описана среда разработки. Из статьи, можно только сделать вывод что MS не потянула сделать нормальную IDE для самого кроссплатформенного языка и пришлось упрощать язык.
Хеш должен вычисляться за полиномиальное время («быстро»).
Обратная функция — за экспоненциальное («медлено»).
Медленное вычисление хеша (или 1000 итераций хеша) — не более чем условность.
Всегда можно создать вычислительные мощности на которых полиномиальный алгоритм будет вычислен за приемлемое время. А вот с экспоненциальными алгоритмами всё сложнее…
Безусловно. Но это знание может оказаться кому-нибудь полезным.
Предположим ситуацию — Anonymous устроило атаку на правительственный сайт Украины. СБУ начинает расследование и первым делом ищет представителей Anonymous и «тех кто в теме». Они могут как помочь следствию так и сами оказаться под следствием.
В ФСБ официально работает только публичное начальство. Остальные работают сварщиками и инженерами на заводах «Мир», «Труд» и «Май». За афиширование места работы их сурово гоняют.
Данный методе некорректно сравнивать с HTTPS:
Он решает задачу надёжной авторизации пользователей без затрат на разворачивание PKI на сервере.
Зато метод можно сравнить с Digest Auth.
Для последнего, пароль на сервере должен храниться в открытом виде, а это просто уничтожает преимущество того, что пароль не передаётся по сети. Как только злоумышленник получит доступ к серверу — сразу все пользователи скомпрометированы. Не айс.
В этом методе (WebToken — да?) по сети передаётся только цифровая подпись, а на сервере хранится только публичный ключ, который можно хоть на сайте публиковать. Тру :)
В предложенной схеме нехватает привязки к промежутку времени.
MitM может перехватывать RNDserver и запоминать соответствующие Sign(SHA256(RNDserver+RNDclient)).
Через некоторое время он накопит достаточное количество RNDServer и будет осуществлять попытки пройти аутентификацию перед сервером. Как только он получит известный ему RNDServer, он достанет из базы подписанный ответ и войдёт в систему.
Разумеется вероятность взлома зависит количества возможных RNDserver и от фазы луны. Но мы имеем дело с точной наукой и такого фейла можно избежать.
Ключевая идея в алгоритме — это генерация пары открытый/закрытый ключ на лету на основе парольной фразы. Остальной механизм аутентификации можно сделать более стойким. см. Applied cryptography by Bruce Schneier.
Но в итоге понятно что нужен удобный механизм загрузки нескольких файлов. Сделаем.
Самая важная фича, остальное можно не читать!
А серьёзно — описана среда разработки. Из статьи, можно только сделать вывод что MS не потянула сделать нормальную IDE для самого кроссплатформенного языка и пришлось упрощать язык.
Хеш должен вычисляться за полиномиальное время («быстро»).
Обратная функция — за экспоненциальное («медлено»).
Медленное вычисление хеша (или 1000 итераций хеша) — не более чем условность.
Всегда можно создать вычислительные мощности на которых полиномиальный алгоритм будет вычислен за приемлемое время. А вот с экспоненциальными алгоритмами всё сложнее…
Предположим ситуацию — Anonymous устроило атаку на правительственный сайт Украины. СБУ начинает расследование и первым делом ищет представителей Anonymous и «тех кто в теме». Они могут как помочь следствию так и сами оказаться под следствием.
Он решает задачу надёжной авторизации пользователей без затрат на разворачивание PKI на сервере.
Зато метод можно сравнить с Digest Auth.
Для последнего, пароль на сервере должен храниться в открытом виде, а это просто уничтожает преимущество того, что пароль не передаётся по сети. Как только злоумышленник получит доступ к серверу — сразу все пользователи скомпрометированы. Не айс.
В этом методе (WebToken — да?) по сети передаётся только цифровая подпись, а на сервере хранится только публичный ключ, который можно хоть на сайте публиковать. Тру :)
MitM может перехватывать RNDserver и запоминать соответствующие Sign(SHA256(RNDserver+RNDclient)).
Через некоторое время он накопит достаточное количество RNDServer и будет осуществлять попытки пройти аутентификацию перед сервером. Как только он получит известный ему RNDServer, он достанет из базы подписанный ответ и войдёт в систему.
Разумеется вероятность взлома зависит количества возможных RNDserver и от фазы луны. Но мы имеем дело с точной наукой и такого фейла можно избежать.
Ключевая идея в алгоритме — это генерация пары открытый/закрытый ключ на лету на основе парольной фразы. Остальной механизм аутентификации можно сделать более стойким. см. Applied cryptography by Bruce Schneier.
Для сильных программистов и ловких менеджеров :)
Закоммитил говнокод — получил в пятак.
Сломал билд — высекли розгами.
А уж за просранный релиз… ууууу… Быстро научит адекватно оценивать время :)
Опять же у медали две стороны — за отвратительное управление проектом, команда может устроить менеджеру тёмную :)