美文网首页
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