Документация относится к github example, но это немного редки и таинственны.
Он говорит следующее:
# created with:
# crypt.crypt('This is my Password', '$1$SomeSalt')
password: $1$SomeSalt$UqddPX3r4kH3UL5jq5/ZI.
но crypt.crypt
не отображает то, что показывает пример. Он также использует MD5.
Я пробовал это:
# python
import crypt
crypt.crypt('This is my Password', '$6$somereallyniceandbigrandomsalt$')
>> '$69LxCegsnIwI'
но поле пароля пользователя должно выглядеть примерно так:
password: $6$somereallyniceandbigrandomsalt$UqddPX3r4kH3UL5jq5/ZI.
который включает три разделителя $, разделяющих 6
(что означает его хэш SHA-512), соль и зашифрованный пароль.
Обратите внимание, что python crypt docs ничего не упоминает о формате $N.
Вопросы:
-
Является ли соль, поставляемая в
crypt.crypt
, заканчиваться конечным $или находится в формате $N $SALT? -
Документы Python относятся к DES, но как вызывается SHA-512 или MD5, а где документация для этого?
-
Я действительно должен взять вывод
crypt.crypt
и отключить первые $6 и сделать $N $SALT $CRYPTED? Это то, что необходимо?