2015-11-10 57 views
-1

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

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

回答

3

不,crypt实现了单向散列。

但是,你有散列值和(希望)盐。每当用户提交密码时,都会使用相同的盐进行加密,并且如果哈希匹配,则会对用户进行身份验证。

通常,拥有人类可读密码是一种非常糟糕的做法,但您不需要读取原始输入密码来认证用户。

0

如果正确实施,存储为crypt的密码不能被解码为明文,因为它未经过加密但已散列。

根据您的目标系统,您可能能够“按原样”迁移散列密码,但必须确定使用了哪个散列,以及目标系统是否支持散列。

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

1

答案应该是。像crypt这样的哈希的整个观点就是你不能这么做。但是,如果它使用的是旧式的unix crypt(),它通常实际上是非常暴躁的(它的密码学相当脆弱)。问题是,如果你真的想这样做。

虽然这听起来像是XY problem。我们在谈论什么LDAP服务器,他们支持哪些格式?有一个合理的机会存在某种可用于迁移目的的重叠。