Linux 技术手札

产生 /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

Exit mobile version