24 Commits

Author SHA1 Message Date
40599fee4e feat(构建脚本): 更新构建脚本
All checks were successful
/ build (push) Successful in 2m38s
2025-12-02 14:04:24 +08:00
da63656206 feat(构建脚本): 添加latest 2025-11-29 19:36:20 +08:00
64f1667f76 fix(修复构建): 修复构建 2025-11-27 15:54:20 +08:00
9a4089a05c feat(构建脚本): 修正构建脚本 2025-11-27 15:23:52 +08:00
41b2bfb936 feat(构建迁移): 构建迁移 2025-11-27 14:22:03 +08:00
04137a554f feat(更新代码): 使用标准库 2025-04-21 09:57:06 +08:00
aa07c086ac feat(升级依赖): 升级依赖 2024-12-13 11:48:51 +08:00
535a9b7fc8 feat(更新依赖): 更新依赖 2024-09-15 21:18:34 +08:00
77e1a1c941 feat(升级依赖): 升级依赖 2024-06-05 15:19:05 +08:00
d2f1959972 feat(更新依赖): 更新依赖 2024-05-07 19:07:46 +08:00
a810c78009 feat(更新依赖): 更新依赖 2024-04-09 14:18:11 +08:00
810a5ece4f feat(升级依赖): 升级依赖 2024-03-13 17:11:15 +08:00
a7ce1f92b7 feat(升级依赖): 升级依赖 2024-02-13 01:26:03 +08:00
3f456588b2 feat(更新依赖): 更新依赖 2024-01-11 15:22:18 +08:00
23d553f47a feat(更新依赖): 更新依赖 2024-01-02 10:23:34 +08:00
0ac527751a feat(更新依赖): 更新依赖 2023-11-11 12:35:29 +08:00
43dc0d59b8 feat(更新依赖): 更新依赖 2023-10-07 15:05:50 +08:00
fd8fcc7930 feat(更新依赖): 更新依赖 2023-09-10 18:26:29 +08:00
f32f4ae2ab feat(部署脚本): 更新部署脚本 2023-07-12 13:09:13 +08:00
ee1a2b25b3 feat(更新依赖): 更新依赖 2023-07-07 15:04:25 +08:00
70dd9ba8e4 feat(升级依赖): 升级依赖 2022-03-10 14:19:29 +08:00
7dc36a0b0d feat(更新依赖): 更新依赖 2021-12-16 14:51:45 +08:00
2ed0f9bac2 chore(自动构建): 自动构建 2021-09-24 10:03:03 +08:00
c56c6c7e55 feat(新增算法): 支撑sha384sum 2021-09-07 13:50:47 +08:00
6 changed files with 72 additions and 66 deletions

View File

@@ -1,27 +0,0 @@
kind: pipeline
type: docker
name: default
steps:
- name: generate
pull: if-not-exists
image: hkccr.ccs.tencentyun.com/xiaoqidun/build
commands:
- build -f build.sh -i ihash.go -o release/ihash
- name: build
pull: if-not-exists
image: xiaoqidun/goenv
commands:
- ./build.sh
- name: upload
image: xiaoqidun/gocos
settings:
secret_id:
from_secret: cos_secret_id
secret_key:
from_secret: cos_secret_key
bucket_url:
from_secret: cos_bucket_url
source: release/
target: product/ihash
strip_prefix: release/

View File

@@ -0,0 +1,28 @@
on: [push, workflow_dispatch]
jobs:
build:
runs-on: cn
steps:
- name: checkout
uses: actions/checkout@v6
- name: generate
uses: docker://ccr.ccs.tencentyun.com/xiaoqidun/build:latest
with:
args: -f build.sh -i ihash.go -o release/ihash
- name: docker goenv
uses: docker://ccr.ccs.tencentyun.com/xiaoqidun/goenv:latest
env:
GIT_SERVER: ${{ secrets.git_server }}
GIT_USER: ${{ secrets.git_user }}
GIT_TOKEN: ${{ secrets.git_token }}
with:
args: bash build.sh
- name: upload to cos
uses: xiaoqidun/gocos@main
with:
secret_id: ${{ secrets.cos_secret_id }}
secret_key: ${{ secrets.cos_secret_key }}
bucket_url: ${{ secrets.cos_bucket_url }}
source_path: release
target_path: product/ihash
strip_prefix: release

View File

@@ -17,6 +17,7 @@ go build ihash.go
- md5sum
- sha1sum
- sha256sum
- sha384sum
- sha512sum
- sha3sum224
- sha3sum256

6
go.mod
View File

@@ -1,7 +1,3 @@
module github.com/xiaoqidun/ihash
go 1.17
require golang.org/x/crypto v0.0.0-20210817164053-32db794688a5
require golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect
go 1.25.4

9
go.sum
View File

@@ -1,9 +0,0 @@
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ=
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

View File

@@ -5,10 +5,10 @@ import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha3"
"crypto/sha512"
"flag"
"fmt"
"golang.org/x/crypto/sha3"
"hash"
"io"
"io/ioutil"
@@ -19,6 +19,18 @@ import (
"strings"
)
const (
md5sum = "md5sum"
sha1sum = "sha1sum"
sha256sum = "sha256sum"
sha384sum = "sha384sum"
sha512sum = "sha512sum"
sha3sum224 = "sha3sum224"
sha3sum256 = "sha3sum256"
sha3sum384 = "sha3sum384"
sha3sum512 = "sha3sum512"
)
var (
args []string
author bool
@@ -26,14 +38,15 @@ var (
)
var typeList = []string{
"md5sum",
"sha1sum",
"sha256sum",
"sha512sum",
"sha3sum224",
"sha3sum256",
"sha3sum384",
"sha3sum512",
md5sum,
sha1sum,
sha256sum,
sha384sum,
sha512sum,
sha3sum224,
sha3sum256,
sha3sum384,
sha3sum512,
}
func init() {
@@ -91,21 +104,23 @@ func InArray(value interface{}, array interface{}) int {
func StrHash(hashType string, hashData []byte) string {
var sum interface{}
switch hashType {
case "md5sum":
case md5sum:
sum = md5.Sum(hashData)
case "sha1sum":
case sha1sum:
sum = sha1.Sum(hashData)
case "sha256sum":
case sha256sum:
sum = sha256.Sum256(hashData)
case "sha512sum":
case sha384sum:
sum = sha512.Sum384(hashData)
case sha512sum:
sum = sha512.Sum512(hashData)
case "sha3sum224":
case sha3sum224:
sum = sha3.Sum224(hashData)
case "sha3sum256":
case sha3sum256:
sum = sha3.Sum256(hashData)
case "sha3sum384":
case sha3sum384:
sum = sha3.Sum384(hashData)
case "sha3sum512":
case sha3sum512:
sum = sha3.Sum512(hashData)
}
return fmt.Sprintf("%x", sum)
@@ -127,21 +142,23 @@ func FileHash(hashType string, hashFile string) {
readBytes := make([]byte, 8192)
var hashHandle interface{}
switch hashType {
case "md5sum":
case md5sum:
hashHandle = md5.New()
case "sha1sum":
case sha1sum:
hashHandle = sha1.New()
case "sha256sum":
case sha256sum:
hashHandle = sha256.New()
case "sha512sum":
case sha384sum:
hashHandle = sha512.New384()
case sha512sum:
hashHandle = sha512.New()
case "sha3sum224":
case sha3sum224:
hashHandle = sha3.New224()
case "sha3sum256":
case sha3sum256:
hashHandle = sha3.New256()
case "sha3sum384":
case sha3sum384:
hashHandle = sha3.New384()
case "sha3sum512":
case sha3sum512:
hashHandle = sha3.New512()
}
for {