# package subtle

`import "crypto/subtle"`

Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.

## 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；其他情况的行为是未定义并应避免的。