我正在研究从旧LDAP迁移到新数据库的过程。 今天我发现密码都保存为{crypt}密码,新系统不支持密码。
是否可以解码{crypt}密码(如果可能,在PERL中)?
答案 0 :(得分:3)
不,crypt实现单向哈希。
但是,你有哈希值和(希望)盐。每当用户提交密码时,它都使用相同的盐进行加密,如果哈希值匹配,则会对用户进行身份验证。
一般来说,拥有人类可读密码是一种非常糟糕的做法,但您不需要阅读原始输入密码来验证用户身份。
答案 1 :(得分:1)
答案应该是否。像地穴这样的哈希点的全部意义在于你无法做到这一点。但是,如果它使用旧式unix crypt()
,它通常实际上是相当暴力的(它是相当弱的加密)。问题是,如果你真的想要那个。
这听起来像XY problem。我们在讨论哪些LDAP服务器,以及它们支持哪些格式?在某种程度上可以用于迁移目的的重叠是合理的。
答案 2 :(得分:0)
如果正确实施,存储为crypt
的密码无法解码为明文,因为它未加密但是经过哈希处理。
根据您的目标系统,您可以“按原样”迁移散列密码,但您必须确定使用了哪个散列以及目标系统是否支持该散列。
您需要披露有关LDAP服务器和您使用的数据库的更多信息。