subtle
2 分钟阅读
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
Package subtle 实现通常在加密代码中很有用但需要仔细考虑才能正确使用的函数。
常量
This section is empty.
变量
This section is empty.
函数
func ConstantTimeByteEq
|
|
ConstantTimeByteEq returns 1 if x == y and 0 otherwise.
ConstantTimeByteEq 在 x == y 时返回 1,否则返回 0。
func ConstantTimeCompare
|
|
ConstantTimeCompare returns 1 if the two slices, x and y, have equal contents and 0 otherwise. The time taken is a function of the length of the slices and is independent of the contents. If the lengths of x and y do not match it returns 0 immediately.
ConstantTimeCompare 在两个切片 x 和 y 内容相等时返回 1,否则返回 0。所花费的时间是切片长度的函数,与内容无关。如果 x 和 y 的长度不匹配,它会立即返回 0。
func ConstantTimeCopy
|
|
ConstantTimeCopy copies the contents of y into x (a slice of equal length) if v == 1. If v == 0, x is left unchanged. Its behavior is undefined if v takes any other value.
ConstantTimeCopy 在 v == 1 时将 y 的内容复制到 x(长度相等的切片)中。如果 v == 0,则 x 保持不变。如果 v 采用任何其他值,则其行为未定义。
func ConstantTimeEq
|
|
ConstantTimeEq returns 1 if x == y and 0 otherwise.
ConstantTimeEq 在 x == y 时返回 1,否则返回 0。
func ConstantTimeLessOrEq <- go1.2
|
|
ConstantTimeLessOrEq returns 1 if x <= y and 0 otherwise. Its behavior is undefined if x or y are negative or > $2^{31} - 1$.
ConstantTimeLessOrEq 在 x <= y 时返回 1,否则返回 0。如果 x 或 y 为负数或 > $2^{31} - 1$,则其行为未定义。
func ConstantTimeSelect
|
|
ConstantTimeSelect returns x if v == 1 and y if v == 0. Its behavior is undefined if v takes any other value.
如果 v == 1,则 ConstantTimeSelect 返回 x;如果 v == 0,则返回 y。如果 v 采用任何其他值,则其行为未定义。
func XORBytes <- go1.20
|
|
XORBytes sets dst[i] = x[i] ^ y[i] for all i < n = min(len(x), len(y)), returning n, the number of bytes written to dst. If dst does not have length at least n, XORBytes panics without writing anything to dst.
XORBytes 将 dst[i] = x[i] ^ y[i] 设置为所有 i < n = min(len(x), len(y)),返回 n,即写入 dst 的字节数。如果 dst 的长度至少为 n,则 XORBytes 会在不向 dst 写入任何内容的情况下引发 panic。
类型
This section is empty.