package subtle
import "crypto/subtle"
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
Index
- func ConstantTimeByteEq(x, y uint8) int
- func ConstantTimeEq(x, y int32) int
- func ConstantTimeLessOrEq(x, y int) int
- func ConstantTimeCompare(x, y []byte) int
- func ConstantTimeCopy(v int, x, y []byte)
- func ConstantTimeSelect(v, x, y int) int
func ConstantTimeByteEq
func ConstantTimeByteEq(x, y uint8) int
如果x == y返回1,否则返回0。
func ConstantTimeEq
func ConstantTimeEq(x, y int32) int
如果x == y返回1,否则返回0。
func ConstantTimeLessOrEq
func ConstantTimeLessOrEq(x, y int) int
如果x <= y返回1,否则返回0;如果x或y为负数,或者大于2**31-1,函数行为是未定义的。
func ConstantTimeCompare
func ConstantTimeCompare(x, y []byte) int
如果x、y的长度和内容都相同返回1;否则返回0。消耗的时间正比于切片长度而与内容无关。
func ConstantTimeCopy
func ConstantTimeCopy(v int, x, y []byte)
如果v == 1,则将y的内容拷贝到x;如果v == 0,x不作修改;其他情况的行为是未定义并应避免的。
func ConstantTimeSelect
func ConstantTimeSelect(v, x, y int) int
如果v == 1,返回x;如果v == 0,返回y;其他情况的行为是未定义并应避免的。