refactor(backend): update file hash calculation from MD5 to SHA1 and rename related error handling

This commit is contained in:
keven1024
2026-04-08 23:48:07 +08:00
parent ae2fbcc216
commit 907f77aa66
4 changed files with 8 additions and 8 deletions

View File

@@ -17,7 +17,7 @@ var (
ErrInvalidFileSliceIndex = errors.New("InvalidFileSliceIndex") // 文件切片索引错误
ErrInvalidFileSliceSize = errors.New("InvalidFileSliceSize") // 文件切片大小错误
ErrIncompleteFileSlices = errors.New("IncompleteFileSlices") // 文件切片不完整
ErrFileMD5Mismatch = errors.New("FileMD5Mismatch") // 文件MD5不一致
ErrFileHashMismatch = errors.New("FileHashMismatch") // 文件Hash不一致
// 分享相关
ErrShareFileNotFound = errors.New("ShareFileNotFound") // 分享文件不存在

View File

@@ -212,18 +212,18 @@ func FinishUploadTask(c *echo.Context) error {
return utils.HTTPErrorHandler(c, err)
}
// 计算文件MD5
// 计算文件SHA1
file, err := os.Open(mergeFilePath)
if err != nil {
return utils.HTTPErrorHandler(c, err)
}
defer file.Close() //nolint:errcheck
file_hash, err := u.GetFileMd5(file)
file_hash, err := u.GetFileSHA1(file)
if err != nil || file_hash != fileInfo.FileHash {
defer os.Remove(mergeFilePath) //nolint:errcheck
if err == nil {
return utils.HTTPErrorHandler(c, ErrFileMD5Mismatch)
return utils.HTTPErrorHandler(c, ErrFileHashMismatch)
}
return utils.HTTPErrorHandler(c, err)
}

View File

@@ -2,7 +2,7 @@ package utils
import (
"bufio"
"crypto/md5"
"crypto/sha1"
"fmt"
"io"
"os"
@@ -15,9 +15,9 @@ func GetFileId(fileHash string, fileSize int64) string {
return fmt.Sprintf("%s_%d", fileHash, fileSize)
}
func GetFileMd5(file io.Reader) (string, error) {
func GetFileSHA1(file io.Reader) (string, error) {
const bufferSize = 1024 * 1000 // 1MB
hash := md5.New()
hash := sha1.New()
buf := make([]byte, bufferSize)
reader := bufio.NewReader(file)
for {

View File

@@ -31,7 +31,7 @@ func GenStandardFile(filePath string, mimeType string) (GenStandardFileReturn, e
}
fileSize := fileInfo.Size()
fileHash, err := u.GetFileMd5(file)
fileHash, err := u.GetFileSHA1(file)
if err != nil {
return GenStandardFileReturn{}, err
}