add bcrypt support

This commit is contained in:
Philip Hofstetter
2019-07-26 08:00:14 +02:00
committed by drakkan
parent 88a288ccfe
commit be9a1fb7c4
2 changed files with 12 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ import (
"golang.org/x/crypto/ssh"
"github.com/alexedwards/argon2id"
"golang.org/x/crypto/bcrypt"
"github.com/drakkan/sftpgo/logger"
"github.com/drakkan/sftpgo/utils"
)
@@ -44,6 +46,15 @@ func sqlCommonValidateUserAndPass(username string, password string) (User, error
logger.Warn(logSender, "error comparing password with argon hash: %v", err)
return user, err
}
} else if strings.HasPrefix(user.Password, bcryptPwdPrefix){
err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password))
if err != nil {
logger.Warn(logSender, "error comparing password with bcrypt hash: %v", err)
return user, err
}else{
match = true
}
} else {
// clear text password match
match = (user.Password == password)