blk*_*p19 11 sha1 salt openldap ssha
我工作的组织使用PPolicy(OpenLDAP模块)来自动加密和散列密码.不幸的是,我无法访问运行OpenLDAP服务器的机器,所以我无法查看配置文件.从我所看到的,几乎所有东西似乎都使用默认设置进行设置.
我希望能够为特定用户检索salt.如果我查看用户的属性,userPassword是SSHA密码.我没有看到任何有关该特定用户的盐的信息.我最终查看了LDAP模式,我也没有看到任何关于盐的信息.
如果您猜测每个用户存储盐的位置,它会在哪里?我理解这是模糊的,可能不是很多信息,但我在OpenLDAP文档中找不到任何解释确切存储唯一盐的位置.也许之前配置过OpenLDAP服务器的人会知道默认位置在哪里.
谢谢.
Syo*_*yon 19
使用SSHA,通常将salt附加到SHA1哈希,然后整个事务是Base64编码(我从未见过没有以这种方式执行SSHA的LDAP).您应该能够通过查看userPassword属性来说明这一点.如果它的长度为28个字符,最后一个=,那么它只是哈希值.
如果Base64值为32个字符或更长,则它包含散列和salt.Base64解码该值并去掉前20个字节,这是SHA1哈希.剩下的字节是盐.
例:
Base64 encoded hash with salt
userPassword: {SSHA}MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0
Base64 decoded value
SHA1 Hash Salt
--------------------++++
123456789012345678901234
Run Code Online (Sandbox Code Playgroud)
编辑:经过双重检查,似乎有时支持可变长度的盐.更正了编码说明以解决此问题.