Да, круто. Я думал над чем-то похожим. Но у этой штуки есть одна огромная проблема:
не освобождается динамически выделенная память и другие ресурсы.
Собственно, основная фишка исключений как раз в том, что при раскрутке стека вызываются деструкторы обьектов, которые освобождают память (напр. auto_ptr) и ресурсы(файлы, сокеты и т.д.).
Если память ещё можно выделять на стеке с помощью alloca (кстати, почему-то мало кто знает про это функцию), и она потом сама освободиться, то что делать с другими ресурсами — непонятно.
Да, это часть стандарта: нельзя передавать referer при переходе с HTTPS на HTTP. Более того, в некоторых браузерах есть настройка, которая запрещает передавать referer при переходе с одного HTTPS сайта на другой. Благо, по умолчанию это отключено.
Ну как бы, получить доступ к табличке с логинами/паролями — это далеко не всегда то же самое, что получись доступ ко всей базе. Плюс, в больших системах база с паролями может быть физически отделена от БД с чем-то более критичным.
Например список хешей можно получить из бекапа AD, но это же не зачит, что мы получили доступ к самой AD, правда?
К примеру для паролей длиной не более 8 символов, состоящих из букв, цифр и специальных символов !@#$%^&*()-_+= захешированных алгоритмом MD5 могут быть сгенерированы таблицы со следующими параметрами:
длина цепочки 1400
количество цепочек 50 000 000
количество таблиц 800
При этом вероятность нахождения пароля с помощью данных таблиц составит 0.7542 (75.42 %), сами таблицы займут 596 Гб, генерация их на компьютере уровня Пентиум-3 1ГГц займёт 3 года а поиск 1 пароля по готовым таблицам не более 22 минут.
Да, пераметры другие. Но на порядок результата они не повлияют.
Например, если пароль будет всё же 12, а не 8 символов. То таблицы вырастут всего до 596*12/8 = 894 Гб (как я говорил, таблицы хранят только концы цепочек). Правда при этом упадет вероятность нахождения пароля. Но допустим, удвоив количество таблиц мы вернем её обратно. Тогда таблицы будут занимать аж целых полтора терабайта. Но никак не столько, сколько насчитал ты.
Неправильно :) В радужных таблицах для каждой «строки» храниться только первая редукция и последний хеш. Бегом на википедию, читать что такое радужные таблицы :)
Не так. В радужных таблицах после операции хеширования идет операция редукции — превращение хеша в новый «пароль», который уже пойдет на вход следующей итерации.
Потому что нет удобного способа использовать строку из 320 бит в качестве пароля напрямую.
Банально расширяют кругозор. Может оказаться, что используя идеи из LISP можно более эфектно решать задачи на том же C/C++. Самый простой пример — абстрактные алгоритмы из STL и boost.
Хорошая карта генерирует ключ внутри себя и никогда и не при никаких обстоятельствах не отдает его наружу. Иначе это не смарт-карта, а какая-то флешка получается.
После того, как появились Cortex M3, которые подешевле иных AVRок, нужда в последних как бы пропала. Разве что в проектах, гда важно очень низкое энергопотребление можно использовать AVR либо PIC. Насколько я помню, у PIC потребление даже меньше.
Вопрс немножко не в тему: кто-то знает, как можно стримать звук c вин-машины, на медиа-сервер под линукс? Просто у меня к медиа-серверу подключены колонки. Музыку я играю через mpd.
Хотелось бы смотреть фильмы на вин-машине, но так, что бы звук шел через колонки.
Под линуксами есть звуковые сервера и клиенты. А вод под виндовс — только сервера. Клиента нету.
Ну тут главное ощущать увереность в себе. Или ощущать пофигизм от того, устроишся, или нет :)
У меня тоже были трудности с задачей на бумаге. Но помогло две штуки: во первых не бояться рисовать сбоку схемы, диаграммы, крайние случаи и т.д. Оно с одной стороны увлекает в процесс обдумывания, а с другой — помогает не сделать досадных косяк. Плюс, итервьювер видит ваш процесс мышления, что тоже немаловажно.
А второе — если совсем ничего не выходит — так и сказать интервьюверу. После этого рассказать, какие были идеи решения. Интервьювер ведь тоже человек, видит что вы волнуетесь, понимает, что у вас прото из-за нервов может не получитья (если не видит — подумайте, нужен ли вам такой начальник). Если способ решения его устроит, то можно будет набросать потом код. С уже большей увереностью в своих действиях.
не освобождается динамически выделенная память и другие ресурсы.
Собственно, основная фишка исключений как раз в том, что при раскрутке стека вызываются деструкторы обьектов, которые освобождают память (напр. auto_ptr) и ресурсы(файлы, сокеты и т.д.).
Если память ещё можно выделять на стеке с помощью alloca (кстати, почему-то мало кто знает про это функцию), и она потом сама освободиться, то что делать с другими ресурсами — непонятно.
Например список хешей можно получить из бекапа AD, но это же не зачит, что мы получили доступ к самой AD, правда?
Да, пераметры другие. Но на порядок результата они не повлияют.
Например, если пароль будет всё же 12, а не 8 символов. То таблицы вырастут всего до 596*12/8 = 894 Гб (как я говорил, таблицы хранят только концы цепочек). Правда при этом упадет вероятность нахождения пароля. Но допустим, удвоив количество таблиц мы вернем её обратно. Тогда таблицы будут занимать аж целых полтора терабайта. Но никак не столько, сколько насчитал ты.
Потому что нет удобного способа использовать строку из 320 бит в качестве пароля напрямую.
stackoverflow.com/questions/34125/which-if-any-c-compilers-do-tail-recursion-optimization
Хотелось бы смотреть фильмы на вин-машине, но так, что бы звук шел через колонки.
Под линуксами есть звуковые сервера и клиенты. А вод под виндовс — только сервера. Клиента нету.
У меня тоже были трудности с задачей на бумаге. Но помогло две штуки: во первых не бояться рисовать сбоку схемы, диаграммы, крайние случаи и т.д. Оно с одной стороны увлекает в процесс обдумывания, а с другой — помогает не сделать досадных косяк. Плюс, итервьювер видит ваш процесс мышления, что тоже немаловажно.
А второе — если совсем ничего не выходит — так и сказать интервьюверу. После этого рассказать, какие были идеи решения. Интервьювер ведь тоже человек, видит что вы волнуетесь, понимает, что у вас прото из-за нервов может не получитья (если не видит — подумайте, нужен ли вам такой начальник). Если способ решения его устроит, то можно будет набросать потом код. С уже большей увереностью в своих действиях.