Безопасно ли хакерам знать алгоритм хеширования?

Если вы хотите как можно ближе подойти к синтаксису выражения, попробуйте функцию range из bash-трюков range.bash .

Для Например, все следующие будут делать то же самое, что и echo {1..10}:

source range.bash
one=1
ten=10

range {$one..$ten}
range $one $ten
range {1..$ten}
range {1..10}

Он пытается поддерживать собственный синтаксис bash с максимально возможным количеством «gotchas»: поддерживаются не только переменные, но часто нежелательное поведение недопустимых диапазонов, предоставляемых как строки (например, for i in {1..a}; do echo $i; done), также предотвращается.

Другие ответы будут работать в большинстве случаев, но все они имеют по крайней мере одно из следующих Недостатки:

  • Многие из них используют подоболочки , что может снизить производительность и , возможно, невозможно на некоторых систем.
  • Многие из них полагаются на внешние программы. Даже seq представляет собой двоичный файл, который должен быть установлен для использования, должен быть загружен bash и должен содержать ожидаемую программу, чтобы он работал в этом случае.
  • Решения, которые используют только собственные функции Bash, такие как @ ephemient, не будут работать в алфавитном диапазоне, например {a..z}; расширение скобки будет. Вопрос был о диапазонах номеров , хотя это так.
  • Большинство из них не визуально похожи на синтаксис диапазона расширенного набора {1..10}, поэтому программы, которые используют оба варианта, могут быть немного труднее читать.
  • @ Ответ bobbogo использует некоторый знакомый синтаксис, но делает что-то неожиданное, если переменная $END не является допустимым диапазоном «bookend» для другая сторона диапазона. Если END=a, например, ошибка не будет выполнена, и будет передано дословное значение {1..a}. Это также поведение Bash по умолчанию - это просто неожиданно.

Отказ от ответственности: я являюсь автором связанного кода.

0
задан kelalaka 15 January 2019 в 19:44
поделиться

2 ответа

Вы не хотите давать подсказки хакеру, который может помочь им взломать пароль.

Возможность взломать один пароль - это даже повредить в другом месте.

Представьте, что хакер получает доступ и может взломать пароли, связанные с адресами электронной почты ... Если пользователи используют один и тот же пароль для других сайтов, нарушение продолжается.

Что, если взломать сайт A приведет к взлому сайта B, который может быть обманом на сайте вашего супруга?

Я говорю, да, это должно быть проблемой.

0
ответ дан mickmackusa 15 January 2019 в 19:44
поделиться

Мы не защищаем себя от неясности безопасности. Нам нужна защита, даже злоумышленники получают доступ ко всему.

Если мы посмотрим на некоторые числа в Hashcat, он может вычислить 53915 H/s хеширование Blowfish на p3 16xlarge для одного

  Tesla V100-SXM2-16GB, 4038/16152 MB allocatable, 80MCU

, которое может вычислять около 2 ^ 49 хешей в час. 115]

Исходя из этого, вам нужно подготовить длину паролей и применить растяжение ключа (около 10000 итераций), чтобы сократить время поиска.

Лучше переключиться на Argon2, который является победителем конкурса паролей. Argon2 может противодействовать распараллеливанию и может увеличить итерацию, чтобы уменьшить возможности одиночного поиска.

Для базы данных вам необходимо шифрование, которое очень важно. Если нарушен только сервер базы данных, вы будете в безопасности. Однако в сложной атаке злоумышленник может также захотеть украсть ключи шифрования. Им нужна защита любой ценой для безопасности базы данных.

0
ответ дан kelalaka 15 January 2019 в 19:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: