То, почему неверный пароль вызывает “Дополнение, недопустимо и не может быть удалено”?

В коде есть несколько проблем:

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

В любом другом случае вы действительно должны использовать его, потому что:

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

В качестве побочного примечания:

У вас есть две страницы login и resetpw, и вы дважды включаете сайт администратора (в базовом urls.py и в механике один).

40
задан jbtule 8 May 2017 в 19:03
поделиться

3 ответа

Хотя этому уже ответили, что я думаю, что это была бы хорошая идея объяснить , почему это должно ожидаться.

дополнительная схема А обычно применяется, потому что большинство криптографических фильтров не семантически безопасно и предотвратить некоторые формы cryptoatacks. Например, обычно в RSA дополнительная схема OAEP используется, который предотвращает некоторые виды нападений (такие как выбранное нападение простого текста или ослепление ).

дополнительная схема А добавляет немного (обычно) случайного мусора к сообщению m, прежде чем сообщение будет отправлено. В методе OAEP, например, два Оракула используются (это - упрощенное объяснение):

  1. , Учитывая размер модуля Вы биты padd k1 с 0 и k0 биты со случайным числом.
  2. Тогда путем применения некоторого преобразования к сообщению Вы получаете заполненное сообщение, которое шифруется и отправляется.

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

27
ответ дан Jorge Córdoba 27 November 2019 в 01:47
поделиться

Да, это должно ожидаться, или по крайней мере, точно, что происходит, когда наши crypto стандартные программы получают non-decryptable данные

3
ответ дан David Wengier 27 November 2019 в 01:47
поделиться

В CryptoStream могут быть непрочитанные байты. Закрытие перед полным чтением потока вызывало ошибку в моей программе.

1
ответ дан 27 November 2019 в 01:47
поделиться
Другие вопросы по тегам:

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