首页 > 解决方案 > Golang sha3 和 kmac 实现一样吗?

问题描述

我需要在 golang 中使用 KECCAK 消息验证码 (KMAC) 算法。KMAC 是基于 KECCAK 的键控散列函数。我没有在 golang 中找到实现的 KMAC 版本。我找到了 sha3 并使用以下源代码对其进行了测试:

package main

import (
    "fmt"
    "golang.org/x/crypto/sha3"
)

func main() {
    key := IntToByteArray(int64(124))
    h := sha3.New224()
    h.Write(key)
    h.Write([]byte("foo"))
    sum := h.Sum(nil)
    fmt.Printf("hash = %x\n", sum)
}

提供的代码是否可以被视为 kmac 的正确实现?

标签: gohashsha

解决方案


推荐阅读