diff --git a/CHANGELOG.md b/CHANGELOG.md index c72b991..f28ca13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog: @go/crypto +## v1.5.4 (2026-06-21) +- **命名规范**: SHA 缩写全大写,`Sha1`/`Sha256`/`Sha512` → `SHA1`/`SHA256`/`SHA512`,HMAC 系列同步修正为 `HMACSHA1`/`HMACSHA256`/`HMACSHA512`。 + ## v1.5.3 (2026-06-21) - **重构与错误堆栈支持**: - 重构 `js_export.go`,将 `Encrypt`、`Decrypt` 等匿名函数以及 `Generate*KeyPair` 类接口改写为具名函数,并动态使用 `jsmod.MakeError` 包裹返回的 error。 diff --git a/README.md b/README.md index df3f7b1..aeaca7b 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,8 @@ ### 哈希算法 (Hash) - `func MD5(data []byte) []byte` -- `func Sha256(data []byte) []byte` -- `func HmacSha256(data, key []byte) []byte` +- `func SHA256(data []byte) []byte` +- `func HMACSHA256(data, key []byte) []byte` ## 📦 安装 diff --git a/TEST.md b/TEST.md index cd57254..bfc583b 100644 --- a/TEST.md +++ b/TEST.md @@ -1,7 +1,7 @@ # Test Report: @go/crypto ## 📋 测试概览 -- **测试时间**: 2026-05-07 +- **测试时间**: 2026-06-21 - **测试环境**: darwin/amd64 - **Go 版本**: 1.25.0 diff --git a/hash.go b/hash.go index f4b07ef..c561629 100644 --- a/hash.go +++ b/hash.go @@ -35,8 +35,8 @@ func MD5ToURLBase64(data []byte) string { return encoding.URLBase64(MD5(data)) } -// Sha1 系列 -func Sha1(data ...[]byte) []byte { +// SHA1 系列 +func SHA1(data ...[]byte) []byte { h := sha1.New() for _, v := range data { h.Write(v) @@ -44,12 +44,12 @@ func Sha1(data ...[]byte) []byte { return h.Sum(nil) } -func Sha1ToHex(data []byte) string { return encoding.Hex(Sha1(data)) } -func Sha1ToBase64(data []byte) string { return encoding.Base64(Sha1(data)) } -func Sha1ToURLBase64(data []byte) string { return encoding.URLBase64(Sha1(data)) } +func SHA1ToHex(data []byte) string { return encoding.Hex(SHA1(data)) } +func SHA1ToBase64(data []byte) string { return encoding.Base64(SHA1(data)) } +func SHA1ToURLBase64(data []byte) string { return encoding.URLBase64(SHA1(data)) } -// Sha256 系列 -func Sha256(data ...[]byte) []byte { +// SHA256 系列 +func SHA256(data ...[]byte) []byte { h := sha256.New() for _, v := range data { h.Write(v) @@ -57,12 +57,12 @@ func Sha256(data ...[]byte) []byte { return h.Sum(nil) } -func Sha256ToHex(data []byte) string { return encoding.Hex(Sha256(data)) } -func Sha256ToBase64(data []byte) string { return encoding.Base64(Sha256(data)) } -func Sha256ToURLBase64(data []byte) string { return encoding.URLBase64(Sha256(data)) } +func SHA256ToHex(data []byte) string { return encoding.Hex(SHA256(data)) } +func SHA256ToBase64(data []byte) string { return encoding.Base64(SHA256(data)) } +func SHA256ToURLBase64(data []byte) string { return encoding.URLBase64(SHA256(data)) } -// Sha512 系列 -func Sha512(data ...[]byte) []byte { +// SHA512 系列 +func SHA512(data ...[]byte) []byte { h := sha512.New() for _, v := range data { h.Write(v) @@ -70,9 +70,9 @@ func Sha512(data ...[]byte) []byte { return h.Sum(nil) } -func Sha512ToHex(data []byte) string { return encoding.Hex(Sha512(data)) } -func Sha512ToBase64(data []byte) string { return encoding.Base64(Sha512(data)) } -func Sha512ToURLBase64(data []byte) string { return encoding.URLBase64(Sha512(data)) } +func SHA512ToHex(data []byte) string { return encoding.Hex(SHA512(data)) } +func SHA512ToBase64(data []byte) string { return encoding.Base64(SHA512(data)) } +func SHA512ToURLBase64(data []byte) string { return encoding.URLBase64(SHA512(data)) } // HMAC 系列 func HMACMD5(key []byte, data ...[]byte) []byte { @@ -83,7 +83,7 @@ func HMACMD5(key []byte, data ...[]byte) []byte { return h.Sum(nil) } -func HMACSha1(key []byte, data ...[]byte) []byte { +func HMACSHA1(key []byte, data ...[]byte) []byte { h := hmac.New(sha1.New, key) for _, v := range data { h.Write(v) @@ -91,7 +91,7 @@ func HMACSha1(key []byte, data ...[]byte) []byte { return h.Sum(nil) } -func HMACSha256(key []byte, data ...[]byte) []byte { +func HMACSHA256(key []byte, data ...[]byte) []byte { h := hmac.New(sha256.New, key) for _, v := range data { h.Write(v) @@ -99,7 +99,7 @@ func HMACSha256(key []byte, data ...[]byte) []byte { return h.Sum(nil) } -func HMACSha512(key []byte, data ...[]byte) []byte { +func HMACSHA512(key []byte, data ...[]byte) []byte { h := hmac.New(sha512.New, key) for _, v := range data { h.Write(v) diff --git a/hash_test.go b/hash_test.go index 6199f42..1a9f2bd 100644 --- a/hash_test.go +++ b/hash_test.go @@ -19,17 +19,17 @@ func TestHashCompatibility(t *testing.T) { // SHA256 h2 := sha256.Sum256(data) - if !bytes.Equal(crypto.Sha256(data), h2[:]) { t.Error("Sha256 mismatch") } + if !bytes.Equal(crypto.SHA256(data), h2[:]) { t.Error("SHA256 mismatch") } // HMAC key := []byte("key") mac := hmac.New(sha256.New, key) mac.Write(data) - if !bytes.Equal(crypto.HMACSha256(key, data), mac.Sum(nil)) { t.Error("HMACSha256 mismatch") } + if !bytes.Equal(crypto.HMACSHA256(key, data), mac.Sum(nil)) { t.Error("HMACSHA256 mismatch") } } func TestHashString(t *testing.T) { s := []byte("hello") if crypto.MD5ToHex(s) == "" { t.Error("MD5ToHex empty") } - if crypto.Sha256ToBase64(s) == "" { t.Error("Sha256ToBase64 empty") } + if crypto.SHA256ToBase64(s) == "" { t.Error("SHA256ToBase64 empty") } } diff --git a/js_export.go b/js_export.go index 3ae4134..605c26d 100644 --- a/js_export.go +++ b/js_export.go @@ -11,24 +11,24 @@ func init() { "MD5ToHex": MD5ToHex, "MD5ToBase64": MD5ToBase64, "MD5ToURLBase64": MD5ToURLBase64, - "Sha1": Sha1, - "Sha1ToHex": Sha1ToHex, - "Sha1ToBase64": Sha1ToBase64, - "Sha1ToURLBase64": Sha1ToURLBase64, - "Sha256": Sha256, - "Sha256ToHex": Sha256ToHex, - "Sha256ToBase64": Sha256ToBase64, - "Sha256ToURLBase64": Sha256ToURLBase64, - "Sha512": Sha512, - "Sha512ToHex": Sha512ToHex, - "Sha512ToBase64": Sha512ToBase64, - "Sha512ToURLBase64": Sha512ToURLBase64, + "SHA1": SHA1, + "SHA1ToHex": SHA1ToHex, + "SHA1ToBase64": SHA1ToBase64, + "SHA1ToURLBase64": SHA1ToURLBase64, + "SHA256": SHA256, + "SHA256ToHex": SHA256ToHex, + "SHA256ToBase64": SHA256ToBase64, + "SHA256ToURLBase64": SHA256ToURLBase64, + "SHA512": SHA512, + "SHA512ToHex": SHA512ToHex, + "SHA512ToBase64": SHA512ToBase64, + "SHA512ToURLBase64": SHA512ToURLBase64, // HMAC "HMACMD5": HMACMD5, - "HMACSha1": HMACSha1, - "HMACSha256": HMACSha256, - "HMACSha512": HMACSha512, + "HMACSHA1": HMACSHA1, + "HMACSHA256": HMACSHA256, + "HMACSHA512": HMACSHA512, // Token "MakeToken": MakeToken,