Skip to content

Commit 765c7e8

Browse files
ghosindgopherbot
authored andcommitted
xsrftoken: create no padding base64 string by RawURLEncoding
The XSRF token generation function creates the padded base64 string by base64.URLEncoding, then removes the padding. It is equivalent to the base64.RawURLEncoding but with more costs. Change-Id: I9cf5ad94e9cf3dca9bbfc1b6818ab07d41acf417 GitHub-Last-Rev: a8263b5 GitHub-Pull-Request: #217 Reviewed-on: https://go-review.googlesource.com/c/net/+/599895 Reviewed-by: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Damien Neil <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Commit-Queue: Damien Neil <[email protected]> Commit-Queue: Ian Lance Taylor <[email protected]>
1 parent 032e4e4 commit 765c7e8

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

xsrftoken/xsrf.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,9 @@ func generateTokenAtTime(key, userID, actionID string, now time.Time) string {
4545
h := hmac.New(sha1.New, []byte(key))
4646
fmt.Fprintf(h, "%s:%s:%d", clean(userID), clean(actionID), milliTime)
4747

48-
// Get the padded base64 string then removing the padding.
48+
// Get the no padding base64 string.
4949
tok := string(h.Sum(nil))
50-
tok = base64.URLEncoding.EncodeToString([]byte(tok))
51-
tok = strings.TrimRight(tok, "=")
50+
tok = base64.RawURLEncoding.EncodeToString([]byte(tok))
5251

5352
return fmt.Sprintf("%s:%d", tok, milliTime)
5453
}

0 commit comments

Comments
 (0)