我正在阅读关于影子文件的维基百科文章,它提到行的格式是这样的:
$id$salt$hashed
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,它是如何工作的?
我试图为我自己拥有密码的帐户计算哈希值,因此我使用了以下命令:
sha512sum {盐}+{my_clear_text_password}
但是输出与我自己看到的哈希不同。那么它是怎样工作的?我错过了什么?
\n\n\n\n\n加密密码
\n\n有关如何解释该字符串的详细信息,请参阅crypt (3)。
\n\n例如,如果密码字段包含某些字符串,该字符串不是crypt (3) 的有效结果!或*,用户将无法使用unix密码登录(但用户可以通过其他方式登录系统)。
\n\n该字段可能为空,在这种情况下,不需要密码即可作为指定的登录名进行身份验证。但是,如果密码字段为空,某些读取 /etc/shadow 文件的应用程序可能会决定根本不允许任何访问。
\n\n以感叹号开头的密码字段表示密码已锁定。该行的其余字符代表密码被锁定之前的密码字段。
\n
\n\ncrypt()是密码加密函数。它基于数据加密标准算法,其变化旨在(除其他外)阻止使用密钥搜索的硬件实现。
\n\nkey 是用户输入的密码。
\n\nsalt 是从集合 [a\xe2\x80\x93zA\xe2\x80\x93Z0\xe2\x80\x939./] 中选择的两个字符的字符串。该字符串用于以 4096 种不同方式之一扰乱算法。
\n\n通过取密钥前 8 个字符中每个字符的最低 7 位,即可获得 56 位密钥。这个56位密钥用于重复加密一个常量字符串(通常是全零组成的字符串)。返回的值指向加密的密码,一系列 13 个可打印 ASCII 字符(前两个字符代表盐本身)。返回值指向静态数据,其内容会被每次调用覆盖。
\n
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |