Я працюю над аутентифікацією користувачів у Django, і я знаю, що Django зберігає всі паролі, що хешируются в базі даних,
тому для того, щоб захистити облікові дані користувача, я повинен додати пароль до мого переднього кінця (Angular2) перед тим, як відправити його до мого заднього кінця (Django rest framework).
Проблема в тому, що я не знаю, чи Django виключає хешировані паролі, або він здатний порівнювати його з існуючим, і якщо так, то будь-який з них може вказати правильний шлях.
будь-яка допомога цінується, спасибі
Відповіді:
2 для відповіді № 1Вам не потрібно використовувати хеш-пароль у Angular. Django не зрозуміє хешування паролів з боку Angular, оскільки Django хеширує паролі іншим способом і не має інформації, яка вказує, що те, що ви надсилаєте, є хешем. Навіть якщо б ви могли мати їх так само, Django б хеш його знову, що не буде працювати. Це,
H(password) != H(H(password))
Для однієї хеш-функції, H
.
Надішліть на сервер пароль як звичайний текст. Захистіть пароль, передавши всі дані через TLS / SSL. Django буде приймати звичайний текстовий пароль, порівнювати хеші та аутентифікувати користувача як звичайно.