產生 /etc/shadow 格式的加密密碼


Linux 將系統帳號關於密碼的資訊儲存在檔案 /etc/shadow, 而密碼是經過加密。不論基於任何原因, 如果需要手動編輯 /etc/shadow 的密碼, 便需要產生一個與 /etc/shadow 使用相同加密方式的密碼。而且不用安裝其他工具, 用 Python 便可以產生這個加密密碼。

在 shadow 內的加密密碼, 以下列格式儲存:

$ID$SALT$ENCRYPTED

上面的 $ID 是加密方式, $SALT 是一個最多 16 位的隨機字串, $ENCRYPTED 則是 password hash.

其中 $ID 分別有以下幾種:

$1 -> MD5 (hash: 22 個字元長度)
$5 -> SHA-256 (hash: 43 個字元長度)
$6 -> SHA-512 (hash: 86 個字元長度)

使用以下指令可以產生適用於 /etc/shadow 的加密密碼, 而密碼下面用了 “MyPassword”:

MD5 Password Hash

SHA-256 Password Hash

SHA-512 Password Hash

Leave a Reply