ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 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](#ConstantTimeByteEq) * [func ConstantTimeEq(x, y int32) int](#ConstantTimeEq) * [func ConstantTimeLessOrEq(x, y int) int](#ConstantTimeLessOrEq) * [func ConstantTimeCompare(x, y []byte) int](#ConstantTimeCompare) * [func ConstantTimeCopy(v int, x, y []byte)](#ConstantTimeCopy) * [func ConstantTimeSelect(v, x, y int) int](#ConstantTimeSelect) ## func [ConstantTimeByteEq](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L31 "View Source") ``` func ConstantTimeByteEq(x, y uint8) int ``` 如果x == y返回1,否则返回0。 ## func [ConstantTimeEq](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L41 "View Source") ``` func ConstantTimeEq(x, y int32) int ``` 如果x == y返回1,否则返回0。 ## func [ConstantTimeLessOrEq](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L70 "View Source") ``` func ConstantTimeLessOrEq(x, y int) int ``` 如果x <= y返回1,否则返回0;如果x或y为负数,或者大于2\*\*31-1,函数行为是未定义的。 ## func [ConstantTimeCompare](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L12 "View Source") ``` func ConstantTimeCompare(x, y []byte) int ``` 如果x、y的长度和内容都相同返回1;否则返回0。消耗的时间正比于切片长度而与内容无关。 ## func [ConstantTimeCopy](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L55 "View Source") ``` func ConstantTimeCopy(v int, x, y []byte) ``` 如果v == 1,则将y的内容拷贝到x;如果v == 0,x不作修改;其他情况的行为是未定义并应避免的。 ## func [ConstantTimeSelect](https://github.com/golang/go/blob/master/src/crypto/subtle/constant_time.go#L28 "View Source") ``` func ConstantTimeSelect(v, x, y int) int ``` 如果v == 1,返回x;如果v == 0,返回y;其他情况的行为是未定义并应避免的。