美文网首页
Go 实现文件 md5 和 SHA-256 校验

Go 实现文件 md5 和 SHA-256 校验

作者: 三梦哥 | 来源:发表于2020-07-04 22:02 被阅读0次

因为 GO 语言的强大,md5 和 SHA-256 的校验都存在自带的标准库中了,可以使用非常简短的代码来实现它。

字符串 md5 和 SHA-256 的校验

func GetMd5FromString(data string) string {
    h := md5.New()
    io.WriteString(h, data)
    sum := fmt.Sprintf("%x", h.Sum(nil))
    return sum
}

func GetSHA256FromString(data string) string {
    h := sha256.New()
    io.WriteString(h, data)
    sum := fmt.Sprintf("%x", data)
    return sum
}

文件的 md5 和 SAH-256 的校验

func GetMd5FromFile(path string) (string, error) {
    f, err := os.Open(path)
    defer f.Close()
    if err != nil {
        return "", err
    }
    h := md5.New()
    if _, err := io.Copy(h, f); err != nil {
        return "", err
    }
    return fmt.Sprintf("%x", h.Sum(nil)), nil

}

func GetSHA256FromFile(path string) (string, error) {
    f, err := os.Open(path)
    defer f.Close()
    if err != nil {
        return "", err
    }
    h := sha256.New()
    if _, err := io.Copy(h, f); err != nil {
        return "", err
    }
    sum := fmt.Sprintf("%x", h.Sum(nil))
    return sum, nil
}

相关文章

网友评论

      本文标题:Go 实现文件 md5 和 SHA-256 校验

      本文链接:https://www.haomeiwen.com/subject/dzupqktx.html