为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中字符串的安全比较

Go 中字符串的安全比较

Go
红颜莎娜 2021-06-27 17:58:53
是在 Go 中进行常量时间字符串比较的内置方法吗?Devise.secure_compare当我在 Ruby 中需要此功能时,我使用了该方法。
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

不是用于字符串,而是用于[]byte. 见crypto/subtle,尤其是ConstantTimeCompare

func ConstantTimeCompare(x, y []byte) int

当两个相等长度的切片 x 和 y 具有相等的内容时,ConstantTimeCompare 返回 1。所用时间是切片长度的函数,与内容无关。

您可能知道,您可以轻松地将字符串转换为字节切片:

var x []byte = []byte("someString")


查看完整回答
反对 回复 2021-07-12
  • 1 回答
  • 0 关注
  • 289 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信