diff --git a/pkg/siteacc/html/template.go b/pkg/siteacc/html/template.go
index 47cb5fcf37..7d6fea7131 100644
--- a/pkg/siteacc/html/template.go
+++ b/pkg/siteacc/html/template.go
@@ -99,7 +99,7 @@ const panelTemplate = `
var msgBuffer = new TextEncoder().encode(this);
var hashBuffer = await crypto.subtle.digest("SHA-256", msgBuffer);
var hashArray = Array.from(new Uint8Array(hashBuffer));
- return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
+ return hashArray.map(b => b.toString(16).padStart(2, '0')).join('').toLowerCase();
};
$(CONTENT_JAVASCRIPT)
diff --git a/pkg/siteacc/manager/accmanager.go b/pkg/siteacc/manager/accmanager.go
index b405abafcb..4f46415ea5 100644
--- a/pkg/siteacc/manager/accmanager.go
+++ b/pkg/siteacc/manager/accmanager.go
@@ -19,6 +19,8 @@
package manager
import (
+ "crypto/sha256"
+ "fmt"
"strings"
"sync"
"time"
@@ -204,6 +206,10 @@ func (mngr *AccountsManager) ResetPassword(name string) error {
mngr.sendEmail(accountUpd, nil, email.SendPasswordReset)
}
+ // Passwords are transferred as lower-case SHA256 hashes, so update the password accordingly
+ accountUpd.Password.Value = fmt.Sprintf("%x", sha256.Sum256([]byte(accountUpd.Password.Value)))
+ err = mngr.UpdateAccount(accountUpd, true, false)
+
return err
}