是否可以在不使用salt的情况下配置OpenLDAP加密密码?
从文档中我得到了这个配置,但使用了salt 密码哈希{CRYPT} 密码加密盐格式“$6$%.16s”是否可以在不使用salt的情况下配置OpenLDAP加密密码?,ldap,openldap,salt,sha512,sha2,Ldap,Openldap,Salt,Sha512,Sha2,从文档中我得到了这个配置,但使用了salt 密码哈希{CRYPT} 密码加密盐格式“$6$%.16s” 我需要将未经salt加密生成的密码存储在LDAP目录中。您只需导入具有现有userPassword值的用户条目,而无需salt。如果哈希方案是本地OpenLDAP安装支持的方案,密码验证将起作用 设置新密码时,配置指令密码散列和密码加密salt格式。您最好使用另一个不进行salt的密码存储方案,如{SHA}或{MD5},而不是{crypt}: password-hash {SHA} 如果需
我需要将未经salt加密生成的密码存储在LDAP目录中。您只需导入具有现有userPassword值的用户条目,而无需salt。如果哈希方案是本地OpenLDAP安装支持的方案,密码验证将起作用
设置新密码时,配置指令密码散列和密码加密salt格式。您最好使用另一个不进行salt的密码存储方案,如{SHA}或{MD5},而不是{crypt}:
password-hash {SHA}
如果需要使用{CRYPT}:
- 您仍然可以提供静态盐(!糟糕,不安全,几乎就像没有盐一样!),只需遵循给定的格式:
password-crypt-salt-format "$6$%.16s"
是$6$
模式的密码标识符,我们提供了一个16个字符长的salt:SHA512
请注意,~$ mkpasswd -m sha-512 --salt 'verybadseasoning' secret1 $6$verybadseasoning$Q2kceqwB2uYT2tU./QF.qRCIWjMQdObEAZ71Ni5Ko1zJOnxUwpu3oMeyjtgiR3hSVHIT20Ay9V1.pXaNhkHYk/ ~$ mkpasswd -m sha-512 --salt 'verybadseasoning' secret2 $6$verybadseasoning$SHof1u2BCPJhYoVOk.LkWax7n5g28rzMkNCRAC5NmlT29GSeWLAlv2AoSkOS4rYfMUXsmTcyIxKDUU8aL7TlP0
不允许使用空盐:mkpasswd
它告诉crypt()使用SHA512算法,将~$ mkpasswd -m sha-512 --salt '' secret Wrong salt length: 0 bytes when 8 <= n <= 16 expected.
替换为一个零字符的salt字符串(%s
)。我不知道slapd是否强制进行%s转换,但只设置%.0s
,而不使用任何盐渍替代,可能会起到相同的作用,因为这意味着相同的(无盐渍),即:“$6$”
请注意,缺少salt会使您的系统受到字典攻击。您需要不安全为什么?因为我需要在目录中以不安全的格式存储大量密码,此格式为“$6$%.0s”,它也会忽略令牌,我只想忽略salt,如果我遗漏了什么,很抱歉,感谢您的回答否这是一种单独指定
$6$
的方法(无盐)<代码>密码加密盐格式需要格式为的字符串$6$%.0s
实际上告诉crypt()使用SHA512($6$
),并从传入或生成的salt中替换0个字符的字符串(%.0s
)。请参见php实现示例,输出显示一个空salt($$),后跟预期的加密哈希。我更新了答案,希望现在更清楚。
password-crypt-salt-format "$6$%.0s"
~$ php -r 'print(crypt("secret", "$6$"));'
$6$$2M9DchxW4txWyTYoZrH9D3VvAAQxBpEezYsLY6Cao.jwzEXpyL9xwip9hiUZX7GqTqe/E/z6iKvZqXUuqniQH.