Jaki dokładnie jest sens SECRET_KEY
in django? Przeprowadziłem kilka wyszukiwań w Google i sprawdziłem dokumenty ( https://docs.djangoproject.com/en/dev/ref/settings/#secret-key ), ale szukałem bardziej szczegółowego wyjaśnienia tego, i dlaczego jest to wymagane.
Na przykład, co mogłoby się stać, gdyby klucz został przejęty / inni wiedzieli, co to jest? Dziękuję Ci.
python
django
security
encryption
David542
źródło
źródło
Odpowiedzi:
Służy do tworzenia skrótów. Popatrz:
źródło
SECRET_KEY
”, niż „twójSALT
jest tajnym kluczem, który powinieneś zachować dla siebie”.SECRET_KEY
muszą być bezpieczne. Użycie theSECRET_KEY
jest znacznie bardziej zbliżone do użycia klucza w podpisanym skrócie, takim jak HMAC (który, gdyby wydajność nie był brany pod uwagę, prawdopodobnie zostałby użyty zamiast tego).Dokumentacja Django dotycząca podpisów kryptograficznych obejmuje zastosowania ustawienia „SECRET_KEY”:
(Do tej sekcji odwołuje się również dokumentacja Django dotycząca ustawienia „SECRET_KEY” ).
Interfejs API do podpisywania kryptograficznego w Django jest dostępny dla każdej aplikacji w celu zapewnienia kryptograficznie bezpiecznych podpisów wartości. Samo Django wykorzystuje to w różnych funkcjach wyższego poziomu:
Podpisywanie danych serializowanych (np. Dokumenty JSON).
Unikalne tokeny dla sesji użytkownika, prośby o zresetowanie hasła, wiadomości itp.
Zapobieganie atakom typu cross-site lub replay poprzez dodawanie (a następnie oczekiwanie) unikalnych wartości dla żądania.
Generowanie unikalnej soli do funkcji haszyszu.
Zatem ogólna odpowiedź brzmi: jest wiele rzeczy w aplikacji Django, które wymagają podpisu kryptograficznego, a ustawienie 'SECRET_KEY' jest do nich kluczem. Musi mieć silną kryptograficznie ilość entropii (trudną do odgadnięcia dla komputerów) i unikalną między wszystkimi instancjami Django.
źródło
SECRET_KEY
ustawienia?Zgodnie z dokumentacją Django na temat
SECRET_KEY
:źródło
SECRET_KEY
zostanie obrócony. +1