diff options
Diffstat (limited to 'models/user.go')
-rw-r--r-- | models/user.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/models/user.go b/models/user.go index 463d4a271f..4b5a110915 100644 --- a/models/user.go +++ b/models/user.go @@ -175,8 +175,8 @@ func DeleteUser(user *User) error { // EncodePasswd encodes password to safe format. func (user *User) EncodePasswd() error { - newPasswd, err := scrypt.Key([]byte(user.Passwd), []byte(UserPasswdSalt), 16384, 8, 1, 64) - user.Passwd = fmt.Sprintf("%x", newPasswd) + var err error + user.Passwd, err = EncodePasswd(user.Passwd) return err } @@ -184,6 +184,14 @@ func UserPath(userName string) string { return filepath.Join(RepoRootPath, userName) } +func EncodePasswd(rawPasswd string) (string, error) { + newPasswd, err := scrypt.Key([]byte(rawPasswd), []byte(UserPasswdSalt), 16384, 8, 1, 64) + if err != nil { + return "", err + } + return fmt.Sprintf("%x", newPasswd), nil +} + func GetUserByKeyId(keyId int64) (*User, error) { user := new(User) has, err := orm.Sql("select a.* from user as a, public_key as b where a.id = b.owner_id and b.id=?", keyId).Get(user) |