我正在使用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