MCPcopy Create free account
hub / github.com/PostHog/duckgres / constantTimeStringEqual

Function constantTimeStringEqual

server/auth/policy.go:65–89  ·  view source on GitHub ↗
(a, b string)

Source from the content-addressed store, hash-verified

63}
64
65func constantTimeStringEqual(a, b string) bool {
66 ab := []byte(a)
67 bb := []byte(b)
68
69 maxLen := len(ab)
70 if len(bb) > maxLen {
71 maxLen = len(bb)
72 }
73
74 var diff byte
75 for i := 0; i < maxLen; i++ {
76 var av byte
77 var bv byte
78 if i < len(ab) {
79 av = ab[i]
80 }
81 if i < len(bb) {
82 bv = bb[i]
83 }
84 diff |= av ^ bv
85 }
86
87 lengthsEqual := subtle.ConstantTimeEq(int32(len(ab)), int32(len(bb))) == 1
88 return lengthsEqual && diff == 0
89}

Callers 1

ValidateUserPasswordFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected