From 907f77aa662740c651acb99d991f352df6b7adab Mon Sep 17 00:00:00 2001 From: keven1024 Date: Wed, 8 Apr 2026 23:48:07 +0800 Subject: [PATCH] refactor(backend): update file hash calculation from MD5 to SHA1 and rename related error handling --- backend/internal/controllers/errors.go | 2 +- backend/internal/controllers/file.go | 6 +++--- pkg/utils/file.go | 6 +++--- worker/internal/services/file.go | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/internal/controllers/errors.go b/backend/internal/controllers/errors.go index bd290dc..0365056 100644 --- a/backend/internal/controllers/errors.go +++ b/backend/internal/controllers/errors.go @@ -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") // 分享文件不存在 diff --git a/backend/internal/controllers/file.go b/backend/internal/controllers/file.go index 4bcde6d..29e6d4e 100644 --- a/backend/internal/controllers/file.go +++ b/backend/internal/controllers/file.go @@ -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) } diff --git a/pkg/utils/file.go b/pkg/utils/file.go index 0282eba..ac06b8e 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -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 { diff --git a/worker/internal/services/file.go b/worker/internal/services/file.go index e4d907a..5ed67fe 100644 --- a/worker/internal/services/file.go +++ b/worker/internal/services/file.go @@ -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 }