diff --git a/backend/service/setting.go b/backend/service/setting.go index eaf1f6e..34ce0b4 100644 --- a/backend/service/setting.go +++ b/backend/service/setting.go @@ -18,7 +18,7 @@ var defaultValueMap = map[string]string{ "webListen": "", "webDomain": "", "webPort": "2095", - "webSecret": common.Random(32), + "secret": common.Random(32), "webCertFile": "", "webKeyFile": "", "webPath": "/app/", @@ -191,11 +191,11 @@ func (s *SettingService) SetWebPath(webPath string) error { } func (s *SettingService) GetSecret() ([]byte, error) { - secret, err := s.getString("webSecret") - if secret == defaultValueMap["webSecret"] { - err := s.saveSetting("webSecret", secret) + secret, err := s.getString("secret") + if secret == defaultValueMap["secret"] { + err := s.saveSetting("secret", secret) if err != nil { - logger.Warning("save webSecret failed:", err) + logger.Warning("save secret failed:", err) } } return []byte(secret), err diff --git a/backend/util/common/random.go b/backend/util/common/random.go index b475716..b6cea34 100644 --- a/backend/util/common/random.go +++ b/backend/util/common/random.go @@ -1,13 +1,26 @@ package common -import "math/rand" +import ( + "math/rand" + "time" +) -var allSeq [62]rune +var ( + allSeq []rune + rnd = rand.New(rand.NewSource(time.Now().UnixNano())) +) + +func init() { + chars := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + for _, char := range chars { + allSeq = append(allSeq, char) + } +} func Random(n int) string { runes := make([]rune, n) for i := 0; i < n; i++ { - runes[i] = allSeq[rand.Intn(len(allSeq))] + runes[i] = allSeq[rnd.Intn(len(allSeq))] } return string(runes) }