Являются GUID хорошими паролями? [закрытый]

Не заставляйте тесты зависеть друг от друга. Это не очень хорошая практика, как описано здесь .

Если вы хотите повторно использовать ответ на запрос, вы можете обернуть его в прибор .

@pytest.fixture(scope="module")
def response():
    import requests
    return requests.get()

def test(response):
    

Было бы также неплохо посмеяться над запросом, чтобы сделать тесты независимыми от удаленного ресурса. Для этого вы можете использовать библиотеку ответов .

import responses
import requests

@responses.activate
def test_simple():
    responses.add(responses.GET, 'http://twitter.com/api/1/foobar',
                  json={'error': 'not found'}, status=404)

    resp = requests.get('http://twitter.com/api/1/foobar')

20
задан Zifre 29 April 2009 в 23:58
поделиться

13 ответов

Одним из основных недостатков является то, что у вас не обязательно есть «128 битов энтропии», как указано в исходном вопросе.

Многие алгоритмы GUID содержат информацию, встроенную в них в предсказуемые шаблоны, например, MAC-адрес компьютера, дату / время или инкрементную последовательность. Криптоанализ WinAPI GUID показал, учитывая начальное состояние, которое можно предсказать до следующих 250 000 GUID, возвращаемых функцией UuidCreate

Например, у меня есть приблизительно 50% шанс угадать первую цифру в первой позиции третьей группы цифр, так как это будет 1 (для направляющих V1) или 4 (для направляющих V4)

Источник: http://en.wikipedia.org/wiki/Globally_Unique_Identifier

25
ответ дан 29 November 2019 в 22:52
поделиться

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

5
ответ дан 29 November 2019 в 22:52
поделиться

Если вам нужен безопасный пароль, который вы хотите оставить диспетчеру паролей в UNIX-подобной системе, вам гораздо лучше просто извлечь его из / dev / random и зашифровать его во что-нибудь удобочитаемый. для 128 битов энтропии вы можете использовать что-то простое, например

head -c 16 /dev/random | openssl enc -a -e

, которое дает такой пароль, как 5eqIviKu4pFTqSPnYosVKg ==

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

Редактировать: добавлены преимущества этот метод над UUID включает дополнительную безопасность в PRNG (/ dev / random) и более короткие пароли, аналогичные недостатки

1
ответ дан 29 November 2019 в 22:52
поделиться

Недавно я написал код для преобразования первых 64 битов контрольной суммы в последовательность из четырех английских слов. Это делает хорошую контрольную сумму (гораздо проще запомнить, чем шестнадцатеричный беспорядок), но я не уверен, что доверю ей как паролю. Если вы защищаете что-то безопасное, вы должны использовать надежный пароль, который вы запоминаете и не записываете. Если нет, то подойдет любой старый пароль.

1
ответ дан 29 November 2019 в 22:52
поделиться

Минусы:

  1. Поля пароля не всегда достаточно длинные.
  2. Вводить сложнее - вы, вероятно, сохраните пароль в программе, а не в своей голове. Это небольшая проблема безопасности ...

... плюсы:

  1. Никто не сможет навязать вам ваш пароль.

Пароли с большими случайными числами уже были созданы ранее. Они называются OTP и гораздо более безопасны, чем вы предлагаете, потому что они меняются со временем и имеют тенденцию генерироваться защищенными устройствами. Конечно, это актуально, только если вы разрабатываете систему паролей.

1
ответ дан 29 November 2019 в 22:52
поделиться

Я думаю, что вы действительно хотите криптографически-случайное число , а не GUID. GUID и UUID не являются случайными - как сказал JohnFx, они имеют тенденцию включать обнаруживаемые значения, такие как MAC-адрес или текущую временную метку, чтобы гарантировать уникальность.

Вместо этого вы должны взглянуть на любой крипто-API, доступный для вас, и найти источник высокоэнтропийных случайных чисел. Убедитесь, что документация обещает, что вывод подходит для криптографии, а не только для обычного PRNG. Например, / dev / random в системах Unix является хорошим источником. Затем просто разверните столько случайных байтов, сколько хотите.

Лично это кажется слишком хардкорным. Я предпочел бы генерировать строки, которые содержат немного меньше энтропии на символ, но их легче набирать и запоминать. Например, Есть несколько алгоритмов, которые комбинируют случайные слоги, чтобы создать произносимые бессмысленные слова; добавьте несколько цифр и знаков препинания, и вы получите хороший пароль.

1
ответ дан 29 November 2019 в 22:52
поделиться

Мне нравятся мои пароли , надежные и местоименные (попробуйте один из сайтов , перечисленных здесь , для онлайн-демонстрации, не забудьте выбрать сайт "v2", чтобы получить местоимение-руководство ).

0
ответ дан 29 November 2019 в 22:52
поделиться

Con: Вы не можете перепечатать его, а значит, вам придется копировать и вставлять. Если у вас есть программа управления паролями в вашей системе, это не проблема. Но если вы окажетесь в системе, в которой вы этого не сделаете, просто перепечатать это будет очень сложно.

А потом, после нескольких попыток, вы окажетесь взаперти ...

Жизнь может стать очень раздражает.

Даже если вы запишите его, хороший пароль - это то, что вы можете набирать последовательно без ошибок.

0
ответ дан 29 November 2019 в 22:52
поделиться

Cons:

  1. You will write them down somewhere.
  2. You will probably email them, or write them down again if you need to tell anyone else.
  3. They may be too long for certain systems.
  4. They're practically impossible to memorize, so you might change them more frequently then desired.

So unless they're system passwords which change rarely, I doubt they are good passwords.

13
ответ дан 29 November 2019 в 22:52
поделиться

Does anyone ever need to enter it as a password? Or do you want to use it as a one-time thing? Because seriously, no one wants to enter a GUID in a passwordfield. People have trouble enough as it is, entering WEP/WPA2 wifi network keys. And most of the time, those are one-timers.

@Miyagi: that's the most obvious con ofcourse. They'll have to write it down.

1
ответ дан 29 November 2019 в 22:52
поделиться

Con:

It would be nearly impossible to remember a 32-byte alpha numeric string.

8
ответ дан 29 November 2019 в 22:52
поделиться

Technically they would be good passwords In real life, they would be horrible passwords

You would end up having to write down the passwords, use a password manager, or some other form to actually use the password... in a way moving the failure point from the password to another aspect.

Consider using passphrases. Sentences with substitutions for certain letters or other characters, and for numbers, typing them with the SHIFT, converting easy to remember numbers in to well defined character sequences.

For example bcs19850101bcs would be bcs!(*%)!)!bcs

1
ответ дан 29 November 2019 в 22:52
поделиться

Con:

  • Some systems have limits on the maximum length of passwords. If you're only using hex digits this can limit your entropy to perhaps as little as 32 bits.
4
ответ дан 29 November 2019 в 22:52
поделиться
Другие вопросы по тегам:

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