Sha1 гекс UUID - использовать в качестве токена доступа

Вы также можете собирать индексы в словаре, где записано только первое появление каждого элемента:

from collections import OrderedDict

my_list = ['hi', 'babe', 'hi', 'babe', 'key', 'key']

d = OrderedDict()
for i, item in enumerate(my_list):
    d.setdefault(item, i)

print([d[k] for k in d])
# [0, 1, 4]

A collections.OrderedDict() используется для поддержания порядка вставки.

-1
задан Flimzy 19 January 2019 в 17:35
поделиться

1 ответ

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

Хорошие алгоритмы шифрования и контрольной суммы создают зашифрованные сообщения, которые неотличимы от случайности. Все, что меньше, означает, что что-то из исходного сообщения выживает. Это означает, что любой данный токен доступа с равной вероятностью сопоставляется с любым возможным зашифрованным сообщением. Все, что меньше, позволит злоумышленнику угадать сообщение.

Криптографическая стойкость HMAC зависит от криптографической стойкости лежащей в основе хеш-функции, размера ее хеш-вывода, а также размера и качества ключа.

Хотя это не совсем нарушено, безопасность SHA-1 была значительно подорвана . Вы должны использовать SHA-256 или лучше.

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

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