diff options
author | silverwind <me@silverwind.io> | 2021-05-10 08:45:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-10 07:45:17 +0100 |
commit | 1e6fa57acbe3c05cb996b789e8c2d381c953826f (patch) | |
tree | c4f1ce55b3423f97952b630462cef5b2035961ec /modules/secret/secret.go | |
parent | 270aab429ef025df9a0b9bf9e3982729ae8df449 (diff) | |
download | gitea-1e6fa57acbe3c05cb996b789e8c2d381c953826f.tar.gz gitea-1e6fa57acbe3c05cb996b789e8c2d381c953826f.zip |
Use single shared random string generation function (#15741)
* Use single shared random string generation function
- Replace 3 functions that do the same with 1 shared one
- Use crypto/rand over math/rand for a stronger RNG
- Output only alphanumerical for URL compatibilty
Fixes: #15536
* use const string method
* Update modules/avatar/avatar.go
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
Diffstat (limited to 'modules/secret/secret.go')
-rw-r--r-- | modules/secret/secret.go | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/modules/secret/secret.go b/modules/secret/secret.go index 2b6e22cc6c..7a06730c39 100644 --- a/modules/secret/secret.go +++ b/modules/secret/secret.go @@ -13,29 +13,18 @@ import ( "encoding/hex" "errors" "io" + + "code.gitea.io/gitea/modules/util" ) // New creats a new secret func New() (string, error) { - return NewWithLength(32) + return NewWithLength(44) } // NewWithLength creates a new secret for a given length func NewWithLength(length int64) (string, error) { - return randomString(length) -} - -func randomBytes(len int64) ([]byte, error) { - b := make([]byte, len) - if _, err := rand.Read(b); err != nil { - return nil, err - } - return b, nil -} - -func randomString(len int64) (string, error) { - b, err := randomBytes(len) - return base64.URLEncoding.EncodeToString(b), err + return util.RandomString(length) } // AesEncrypt encrypts text and given key with AES. |