Avoid panic in KDF func for Go 1.16

2a206c7fcc
This commit is contained in:
RPRX 2021-02-17 03:02:03 +00:00 committed by GitHub
parent 4c10a9eb4e
commit d22c2d034c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 0 deletions

View File

@ -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))
}