如何解码 LDAP {crypt} 密码

How to decode a LDAP {crypt} password

我正在研究从旧 LDAP 到新数据库的迁移。 今天才发现密码都保存为{crypt}密码,新系统不支持

是否可以解码 {crypt} 密码(如果可能,在 PERL 中)?

如果实施正确,存储为 crypt 的密码将无法解码为明文,因为它未加密,而是经过哈希处理。

根据您的目标系统,您或许能够迁移散列密码 "as-is",但您必须确定使用了哪个散列以及您的目标系统是否支持该散列。

您需要披露更多有关您使用的 LDAP 服务器和数据库的信息。

答案应该是。像 crypt 这样的散列的全部意义在于你不能那样做。然而,如果它使用的是老式的 unix crypt(),它通常实际上是非常可破解的(它是相当弱的密码学)。问题是,你真的想要那个吗?

虽然这听起来像 XY problem。我们在谈论什么 LDAP 服务器,它们支持什么格式?很有可能存在某种可用于迁移目的的重叠。

不,crypt 实现了单向哈希。

但是,您有散列值和(希望)盐。每当用户提交密码时,它都会用相同的盐加密,如果哈希值匹配,则用户通过身份验证。

一般来说,使用人类可读的密码是一种非常糟糕的做法,但您不需要读取原始输入密码来对用户进行身份验证。