https://github.com/golang/go/commit/2a206c7fcc91854a0ab78fe5799bda38dd330b11
@@ -6,11 +6,20 @@ import (
"hash"
)
+type hash2 struct {
+ hash.Hash
+}
+
func KDF(key []byte, path ...string) []byte {
hmacf := hmac.New(sha256.New, []byte(KDFSaltConstVMessAEADKDF))
for _, v := range path {
+ first := true
hmacf = hmac.New(func() hash.Hash {
+ if first {
+ first = false
+ return hash2{hmacf}
+ }
return hmacf
}, []byte(v))
}