Python:
# generate password
ldap_salted_md5.hash("123456")
# verify password
ldap_salted_md5.verify("123456","{SMD5}991RjK3DQCT ri/yxQB613Yuxdg=")
# return true
殼:
# generate password
slappasswd -h {SMD5} -s "123456"
# return {SMD5}ZmDHoIiZZG/weuCNkLj189sFoPM=
# verify password by python
ldap_salted_md5.verify("123456","{SMD5}ZmDHoIiZZG/weuCNkLj189sFoPM=")
# return True
我想用go來實作ldap_salted_md5.verify這一步
uj5u.com熱心網友回復:
saltPassword := strings.Replace(user.Password, "{SMD5}", "", -1)
decodeSaltPassword, _ := base64.StdEncoding.DecodeString(saltPassword)
checksum := decodeSaltPassword[0:16]
salt := decodeSaltPassword[16:]
md5Ctx := md5.New()
md5Ctx.Write([]byte(bindSimplePw))
md5Ctx.Write(salt)
cipherStr := md5Ctx.Sum(nil)
if !bytes.Equal(checksum, cipherStr) {
return ldap.LDAPResultInvalidCredentials, nil
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524299.html
標籤:Python去
