我正在bash中编写一个生成ldif文件(用于用户帐户)的脚本,并通过ldapadd将其加载到LDAP。问题在于将密码加密到Crypt-SHA-512。我正在使用Python。
password=`python3 -c 'import crypt; print(crypt.crypt("$pass", crypt.mksalt(crypt.METHOD_SHA512)))'`
但是,每次导入该LDIF之后,我无法通过Apache Directory Studio(ScreenShot)验证该密码。
例如,如果我要加密" xapa3ait"脚本返回: {CRYPT}$6$le2gfSxoFUZD2aqn$mTJby4dsvRGHINkGVacFXido0V3WIZ3mmOod3viIIyoV8sXrQOp4Dk.H8wkOpWUTmQ0XWJ8j9Lpz8No.R/CEJ.
而且它也无法在目录工作室中进行验证。
我可以承认我不是最好的程序员,并且可以有更好的方法来加密密码,因此您的建议将不胜感激。
谢谢!
我发现使用MKPasswd的方法更容易,该方法在Apache Directory Studio中的密码检查后完美工作:密码= mkpasswd -m sha-512 --salt $salt $password
jfr,这是: 1.盐生成命令(安装PWGEN):
salt=`pwgen 50 1 | cut -b 10-25`
2。将密码转换为base64并同时删除whitespace:
password=$(echo -n "$password" | base64)
password=$(echo $password | tr -d ' ')