go语言求文件摘要
时间: 2023-07-07 22:04:48 浏览: 46
在Go语言中,可以使用crypto包中的Hash函数来计算文件的摘要。以下是一个示例代码:
```go
package main
import (
"crypto/md5"
"crypto/sha256"
"fmt"
"io"
"log"
"os"
)
func main() {
// 打开文件
file, err := os.Open("example.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// 计算MD5摘要
hash := md5.New()
if _, err := io.Copy(hash, file); err != nil {
log.Fatal(err)
}
md5sum := fmt.Sprintf("%x", hash.Sum(nil))
fmt.Println("MD5:", md5sum)
// 重新打开文件
file, err = os.Open("example.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// 计算SHA256摘要
hash = sha256.New()
if _, err := io.Copy(hash, file); err != nil {
log.Fatal(err)
}
sha256sum := fmt.Sprintf("%x", hash.Sum(nil))
fmt.Println("SHA256:", sha256sum)
}
```
以上示例代码会计算并输出"example.txt"文件的MD5和SHA256摘要。在实际使用中,需要根据实际需求选择适合的摘要算法。