【发布时间】:2021-08-09 15:22:02
【问题描述】:
我使用 sha3 生成了一个哈希值,我需要将其转换为 big.Int 值。可能吗 ?或者有没有办法获取哈希的整数值?
以下代码抛出一个错误,无法将类型 hash.Hash 转换为 int64 类型:
package main
import (
"math/big"
"golang.org/x/crypto/sha3"
"fmt"
)
func main(){
chall := "hello word"
b := byte[](chall)
h := sha3.New244()
h.Write(chall)
h.Write(b)
d := make([]byte, 16)
h.Sum(d)
val := big.NewInt(int64(h))
fmt.Println(val)
}
【问题讨论】:
-
你认为28字节的“整数值”是什么?
-
您能否澄清您的问题。你想保存哈希的状态 - 还是只是它的总和?正如@Volker 提到的,
224(位)散列 - 太大而无法放入 64 位。
标签: go type-conversion biginteger sha-3