在 Go 的密码库中,我找到了这个函数ConstantTimeByteEq。它有什么作用,它是如何工作的?
// ConstantTimeByteEq returns 1 if x == y and 0 otherwise.
func ConstantTimeByteEq(x, y uint8) int {
z := ^(x ^ y)
z &= z >> 4
z &= z >> 2
z &= z >> 1
return int(z)
}
沧海一幻觉
潇潇雨雨
相关分类