ドキュメントでは github の例を参照していますが、これは少しまばらで不可解です。
それはこう言います:
# 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.
これには、 (SHA-512 ハッシュであることを示す)、salt、および暗号化されたパスワードを区切る 3 つの$区切り文字が含まれます。6
python crypt のドキュメントでは、 $N形式については何も言及されていないことに注意してください。
質問:
に提供されるソルトは
crypt.crypt
、末尾の$で終わるはずですか、それとも$N$SALT形式ですか?Python のドキュメントでは DES について言及されていますが、SHA-512 または MD5 はどのように呼び出されているのでしょうか。また、これに関するドキュメントはどこにありますか?
私は本当に $N$SALT$CRYPTED の出力を取り
crypt.crypt
、最初の$6を切り捨てて$N$SALT$CRYPTEDを作るべきですか? これはansibleが必要とするものですか?