mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-08 22:36:37 +08:00
优化
This commit is contained in:
@@ -5,9 +5,10 @@ import (
|
||||
"encoding/hex"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// FileSHA1 计算文件完整 SHA1(小写 hex)。
|
||||
// FileSHA1 计算文件完整 SHA1(大写 hex,115 全链路统一大写)。
|
||||
func FileSHA1(path string) (string, error) {
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
@@ -18,11 +19,12 @@ func FileSHA1(path string) (string, error) {
|
||||
if _, err := io.Copy(h, f); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return hex.EncodeToString(h.Sum(nil)), nil
|
||||
return strings.ToUpper(hex.EncodeToString(h.Sum(nil))), nil
|
||||
}
|
||||
|
||||
// FileSHA1Partial 计算文件 [start,end](含)字节区间的 SHA1(小写 hex)。
|
||||
// 用于 115 上传二次签名按 sign_check 指定的区间重算哈希。
|
||||
// FileSHA1Partial 计算文件 [start,end](含)字节区间的 SHA1(大写 hex)。
|
||||
// 用于 115 上传二次签名按 sign_check 指定的区间重算哈希;sign_val 必须为大写,
|
||||
// 否则 115 以 status=8「签名认证失败」拒绝。
|
||||
func FileSHA1Partial(path string, start, end int64) (string, error) {
|
||||
if start < 0 {
|
||||
start = 0
|
||||
@@ -45,5 +47,5 @@ func FileSHA1Partial(path string, start, end int64) (string, error) {
|
||||
if _, err := io.CopyN(h, f, length); err != nil && err != io.EOF {
|
||||
return "", err
|
||||
}
|
||||
return hex.EncodeToString(h.Sum(nil)), nil
|
||||
return strings.ToUpper(hex.EncodeToString(h.Sum(nil))), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user