package enx /* #cgo CFLAGS: -I../include/heavyHash #cgo LDFLAGS: -L../lib/heavyHash -lheavyhash #include "heavyhash.h" */ import "C" import ( "fmt" "strings" "unsafe" ) func EnxHash(data []byte) string { // 初始化 CSHA3_256 结构体 var sha3 C.CSHA3_256 // 调用 C 语言的 Write 方法 C.CSHA3_256_Write(&sha3, (*C.uchar)(unsafe.Pointer(&data[0])), C.size_t(len(data))) // 调用 C 语言的 Finalize 方法来生成哈希 var hash [C.OUTPUT_SIZE]C.uchar C.CSHA3_256_Finalize(&sha3, &hash[0]) // 使用 strings.Builder 来拼接字符串 var builder strings.Builder for i := 0; i < C.OUTPUT_SIZE; i++ { // 以十六进制方式格式化每个字节 builder.WriteString(fmt.Sprintf("%02x", hash[i])) } // 返回最终的哈希值 return builder.String() }