mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 07:08:02 +00:00
refactor(backend): update file hash calculation from MD5 to SHA1 and rename related error handling
This commit is contained in:
@@ -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") // 分享文件不存在
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user