我正在使用PHP 7.1。 并创建LDAP管理页面。PHP - ldap_add userPassword crypt和password_hash
使用ldap_add()函数时。 有['userPassword']字段。
当我使用下面的代码时,这工作正常。 (如果盐不存在,那很好。)
$entry['userPassword'] = '{crypt}'.crypt('default_password');
或者下面的代码也是可以的。
$entry['userPassword'] = '{MD5}'.'base64_encode(pack("H*", md5('default_password')));
不过,我看到PHP建议比crypt()
password_hash()
功能。
我可以使用password_hash()
函数用于LDAP吗?可能吗?
UPDATE:
OK。那么什么是LDAP密码的最佳解决方案?
$salt = strtr(base64_encode(mcrypt_create_iv(16, MCRYPT_DEV_URANDOM)), '+', '.');
$entry['userPassword'] = '{crypt}'.crypt('defaultpassword', '$2y$10$'.$salt.'$');
这是行不通的。
请看我的更新 – Horangs
当你在这里问一个新的问题:你会不会也创造一个新的问题?谢谢! – heiglandreas