Ответ 1
Не для строк, а для []byte
. См. crypto/subtle
, особенно ConstantTimeCompare
:
func ConstantTimeCompare(x, y []byte) int
ConstantTimeCompare возвращает 1, если два равных длины, x и y, имеют равное содержание. Принятое время является функцией длины срезов и не зависит от содержимого.
Как вы знаете, вы можете легко преобразовать строку в байтовый фрагмент:
var x []byte = []byte("someString")