使用存在安全问题的 Go linter

using Go linter with security issue

我们使用以下库

import "crypto/sha1"

虽然 运行 golangci-lint 我们得到了以下错误:

G505: Blocklisted import crypto/sha1: weak cryptographic primitive (gosec) for "crypto/sha1"


 G401: Use of weak cryptographic primitive (gosec)
        sha := sha1.New()

有什么我可以做的而不排除他们吗?不确定我是否理解这些问题。如果它与安全无关,则排除是简单的任务...

更新

我们正在做的是

fdrContent, err := ioutil.ReadFile(filepath.Join(path))
// gets the hashcode of the FDR file
h := sha1.New()
code, err := h.Write(fdrContent)
return code, err

我自己用h.Write gtarsum project as in here:

        h := sha256.New()
        for {
            buf := make([]byte, 1024*1024)

            bytesRead, err := tr.Read(buf)
            if err != nil {
                if err != io.EOF {
                    panic(err)
                }
            }

            if bytesRead > 0 {
                _, err := h.Write(buf[:bytesRead])

如果没有明显的性能问题,您所要做的就是切换到 sha256
不再有警告。
问题是 sha1 冲突,我有 documented here, from the shattered.io 项目。