CentOS7では/etc/shadowで各ユーザーのパスワードを管理しているとのことなので、どのように管理しているのかを確認してみます。
まず、CentOS7で新しくユーザー(test)を追加します。
useradd test
次に、追加したユーザーにパスワードを付与します、ここでは"himitu"としておきます。
passwd test
この状態で、/etc/shadowを確認してみます。
cat /etc/shadow | grep test
test:$6$U.yvs5yq$R4m.GKg/C/uY/BK2/Ymo2DUjNJzYLbwFPiRhMtCtXdsqLoe9mpV37W4czwbO6Npq7doe2iTsr579s3JnpJUh6/:17304:0:99999:7:::
1番目のフィールドにユーザー名、2番目のフィールドに暗号化されたパスワードが入っています。
暗号化されたパスワードの先頭に"$6$"という文字列がありますが、これはパスワードの暗号化の際に用いられたアルゴリズムを表しており、"6"はSHA-512を表しています。(cryptのマニュアルを参照)
pythonのcryptモジュールで同様にパスワードを暗号化してみます。SHA-512の暗号化の際にはsalt文字列を渡します。
python -c 'import crypt; print(crypt.crypt("himitu", salt="$6$U.yvs5yq"))'
$6$U.yvs5yq$R4m.GKg/C/uY/BK2/Ymo2DUjNJzYLbwFPiRhMtCtXdsqLoe9mpV37W4czwbO6Npq7doe2iTsr579s3JnpJUh6/
当たり前ですが、上の結果と一致していることがわかります。
これで、オレオレパスワード管理ができますね(・∀・)