diff --git a/cryptor/basic.go b/cryptor/basic.go index c4df12d..3d69f80 100644 --- a/cryptor/basic.go +++ b/cryptor/basic.go @@ -37,6 +37,27 @@ func Md5String(s string) string { return hex.EncodeToString(h.Sum(nil)) } +// Md5StringWithBase64 return the md5 value of string with base64. +func Md5StringWithBase64(s string) string { + h := md5.New() + h.Write([]byte(s)) + return base64.StdEncoding.EncodeToString(h.Sum(nil)) +} + +// Md5Byte return the md5 string of byte slice. +func Md5Byte(data []byte) string { + h := md5.New() + h.Write(data) + return hex.EncodeToString(h.Sum(nil)) +} + +// Md5ByteWithBase64 return the md5 string of byte slice with base64. +func Md5ByteWithBase64(data []byte) string { + h := md5.New() + h.Write(data) + return base64.StdEncoding.EncodeToString(h.Sum(nil)) +} + // Md5File return the md5 value of file func Md5File(filename string) (string, error) { if fileInfo, err := os.Stat(filename); err != nil { @@ -76,6 +97,13 @@ func HmacMd5(data, key string) string { return hex.EncodeToString(h.Sum([]byte(""))) } +// HmacMd5WithBase64 return the hmac hash of string use md5 with base64. +func HmacMd5WithBase64(data, key string) string { + h := hmac.New(md5.New, []byte(key)) + h.Write([]byte(data)) + return base64.StdEncoding.EncodeToString(h.Sum([]byte(""))) +} + // HmacSha1 return the hmac hash of string use sha1 func HmacSha1(data, key string) string { h := hmac.New(sha1.New, []byte(key)) @@ -83,6 +111,13 @@ func HmacSha1(data, key string) string { return hex.EncodeToString(h.Sum([]byte(""))) } +// HmacSha1WithBase64 return the hmac hash of string use sha1 with base64. +func HmacSha1WithBase64(str, key string) string { + h := hmac.New(sha1.New, []byte(key)) + h.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(h.Sum([]byte(""))) +} + // HmacSha256 return the hmac hash of string use sha256 func HmacSha256(data, key string) string { h := hmac.New(sha256.New, []byte(key)) @@ -90,6 +125,13 @@ func HmacSha256(data, key string) string { return hex.EncodeToString(h.Sum([]byte(""))) } +// HmacSha256WithBase64 return the hmac hash of string use sha256 with base64. +func HmacSha256WithBase64(str, key string) string { + h := hmac.New(sha256.New, []byte(key)) + h.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(h.Sum([]byte(""))) +} + // HmacSha512 return the hmac hash of string use sha512 func HmacSha512(data, key string) string { h := hmac.New(sha512.New, []byte(key)) @@ -97,6 +139,13 @@ func HmacSha512(data, key string) string { return hex.EncodeToString(h.Sum([]byte(""))) } +// HmacSha512WithBase64 return the hmac hash of string use sha512 with base64. +func HmacSha512WithBase64(str, key string) string { + h := hmac.New(sha512.New, []byte(key)) + h.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(h.Sum([]byte(""))) +} + // Sha1 return the sha1 value (SHA-1 hash algorithm) of string func Sha1(data string) string { sha1 := sha1.New() @@ -104,6 +153,13 @@ func Sha1(data string) string { return hex.EncodeToString(sha1.Sum([]byte(""))) } +// Sha1WithBase64 return the sha1 value (SHA-1 hash algorithm) of base64 string. +func Sha1WithBase64(str string) string { + sha1 := sha1.New() + sha1.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(sha1.Sum([]byte(""))) +} + // Sha256 return the sha256 value (SHA256 hash algorithm) of string func Sha256(data string) string { sha256 := sha256.New() @@ -111,9 +167,23 @@ func Sha256(data string) string { return hex.EncodeToString(sha256.Sum([]byte(""))) } +// Sha256WithBase64 return the sha256 value (SHA256 hash algorithm) of base64 string. +func Sha256WithBase64(str string) string { + sha256 := sha256.New() + sha256.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(sha256.Sum([]byte(""))) +} + // Sha512 return the sha512 value (SHA512 hash algorithm) of string func Sha512(data string) string { sha512 := sha512.New() sha512.Write([]byte(data)) return hex.EncodeToString(sha512.Sum([]byte(""))) } + +// Sha512WithBase64 return the sha512 value (SHA512 hash algorithm) of base64 string. +func Sha512WithBase64(str string) string { + sha512 := sha512.New() + sha512.Write([]byte(str)) + return base64.StdEncoding.EncodeToString(sha512.Sum([]byte(""))) +} diff --git a/cryptor/basic_test.go b/cryptor/basic_test.go index 90e5f92..ef9f51f 100644 --- a/cryptor/basic_test.go +++ b/cryptor/basic_test.go @@ -21,6 +21,22 @@ func TestMd5String(t *testing.T) { assert.Equal("5d41402abc4b2a76b9719d911017c592", Md5String("hello")) } +func TestMd5StringWithBase64(t *testing.T) { + assert := internal.NewAssert(t, "TestMd5StringWithBase64") + assert.Equal("XUFAKrxLKna5cZ2REBfFkg==", Md5StringWithBase64("hello")) +} + +func TestMd5Byte(t *testing.T) { + assert := internal.NewAssert(t, "TestMd5Byte") + data := []byte{'a'} + assert.Equal("0cc175b9c0f1b6a831c399e269772661", Md5Byte(data)) +} + +func TestMd5ByteWithBase64(t *testing.T) { + assert := internal.NewAssert(t, "TestMd5ByteWithBase64") + assert.Equal("XUFAKrxLKna5cZ2REBfFkg==", Md5ByteWithBase64([]byte("hello"))) +} + func TestMd5File(t *testing.T) { fileMd5, err := Md5File("./basic.go") assert := internal.NewAssert(t, "TestMd5File") @@ -33,6 +49,11 @@ func TestHmacMd5(t *testing.T) { assert.Equal("5f4c9faaff0a1ad3007d9ddc06abe36d", HmacMd5("hello world", "12345")) } +func TestHmacMd5WithBase64(t *testing.T) { + assert := internal.NewAssert(t, "TestHmacMd5WithBase64") + assert.Equal("6DQwbquJLYclJdSRinpjmg==", HmacMd5WithBase64("hello", "12345")) +} + func TestHmacSha1(t *testing.T) { s := "hello world" key := "12345" @@ -43,6 +64,16 @@ func TestHmacSha1(t *testing.T) { assert.Equal(expected, hmacSha1) } +func TestHmacSha1WithBase64(t *testing.T) { + s := "hello" + key := "12345" + hmacSha1 := HmacSha1WithBase64(s, key) + expected := "XGqdsMzLkuNu0DI/0Jt/k23prOA=" + + assert := internal.NewAssert(t, "TestHmacSha1") + assert.Equal(expected, hmacSha1) +} + func TestHmacSha256(t *testing.T) { s := "hello world" key := "12345" @@ -53,6 +84,16 @@ func TestHmacSha256(t *testing.T) { assert.Equal(expected, hmacSha256) } +func TestHmacSha256WithBase64(t *testing.T) { + str := "hello" + key := "12345" + hms := HmacSha256WithBase64(str, key) + expected := "MVu5PE6YmGK6Ccti4F1zpfN2yzbw14btqwwyDQWf3nU=" + + assert := internal.NewAssert(t, "TestHmacSha256WithBase64") + assert.Equal(expected, hms) +} + func TestHmacSha512(t *testing.T) { s := "hello world" key := "12345" @@ -63,6 +104,16 @@ func TestHmacSha512(t *testing.T) { assert.Equal(expected, hmacSha512) } +func TestHmacSha512WithBase64(t *testing.T) { + str := "hello" + key := "12345" + hms := HmacSha512WithBase64(str, key) + expected := "3Y8SkKndI9NU4lJtmi6c6M///dN8syCADRxsE9Lvw2Mog3ahlsVFja9T+OGqa0Wm2FYwPVwKIGS/+XhYYdSM/A==" + + assert := internal.NewAssert(t, "TestHmacSha512WithBase64") + assert.Equal(expected, hms) +} + func TestSha1(t *testing.T) { s := "hello world" sha1 := Sha1(s) @@ -72,6 +123,14 @@ func TestSha1(t *testing.T) { assert.Equal(expected, sha1) } +func TestSha1WithBase64(t *testing.T) { + str := Sha1WithBase64("hello") + expected := "qvTGHdzF6KLavt4PO0gs2a6pQ00=" + + assert := internal.NewAssert(t, "TestSha1WithBase64") + assert.Equal(expected, str) +} + func TestSha256(t *testing.T) { s := "hello world" sha256 := Sha256(s) @@ -81,6 +140,14 @@ func TestSha256(t *testing.T) { assert.Equal(expected, sha256) } +func TestSha256WithBase64(t *testing.T) { + str := Sha256WithBase64("hello") + expected := "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=" + + assert := internal.NewAssert(t, "TestSha256WithBase64") + assert.Equal(expected, str) +} + func TestSha512(t *testing.T) { s := "hello world" sha512 := Sha512(s) @@ -89,3 +156,11 @@ func TestSha512(t *testing.T) { assert := internal.NewAssert(t, "TestSha512") assert.Equal(expected, sha512) } + +func TestSha512WithBase64(t *testing.T) { + str := Sha512WithBase64("hello") + expected := "m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw==" + + assert := internal.NewAssert(t, "TestSha512WithBase64") + assert.Equal(expected, str) +} diff --git a/docs/cryptor.md b/docs/cryptor.md index ef73635..7df2764 100644 --- a/docs/cryptor.md +++ b/docs/cryptor.md @@ -46,14 +46,24 @@ import ( - [DesOfbEncrypt](#DesOfbEncrypt) - [DesOfbDecrypt](#DesOfbDecrypt) - [HmacMd5](#HmacMd5) +- [HmacMd5WithBase64](#HmacMd5WithBase64) - [HmacSha1](#HmacSha1) +- [HmacSha1WithBase64](#HmacSha1WithBase64) - [HmacSha256](#HmacSha256) +- [HmacSha256WithBase64](#HmacSha256WithBase64) - [HmacSha512](#HmacSha512) +- [HmacSha512WithBase64](#HmacSha512WithBase64) - [Md5String](#Md5String) +- [Md5StringWithBase64](#Md5StringWithBase64) +- [Md5Byte](#Md5Byte) +- [Md5ByteWithBase64](#Md5ByteWithBase64) - [Md5File](#Md5File) - [Sha1](#Sha1) +- [Sha1WithBase64](#Sha1WithBase64) - [Sha256](#Sha256) +- [Sha256WithBase64](#Sha256WithBase64) - [Sha512](#Sha512) +- [Sha512WithBase64](#Sha512WithBase64) - [GenerateRsaKey](#GenerateRsaKey) - [RsaEncrypt](#RsaEncrypt) - [RsaDecrypt](#RsaDecrypt) @@ -664,6 +674,32 @@ func main() { } ``` +### HmacMd5WithBase64 + +

Return the hmac hash of string use md5 with base64.

+ +Signature: + +```go +func HmacMd5WithBase64(data, key string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + s := cryptor.HmacMd5WithBase64("hello", "12345")) + fmt.Println(s) //6DQwbquJLYclJdSRinpjmg== +} +``` + ### HmacSha1

Get the sha1 hmac hash of string.

@@ -689,6 +725,37 @@ func main() { fmt.Println(s) //3826f812255d8683f051ee97346d1359234d5dbd } ``` +### HmacSha1WithBase64 + +

Return the hmac hash of string use sha1 with base64.

+ +Signature: + +```go +func HmacSha1WithBase64(str, key string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + key := "12345" + + hms := cryptor.HmacSha1WithBase64(str, key) + fmt.Println(hms) + + // Output: + // XGqdsMzLkuNu0DI/0Jt/k23prOA= +} +``` ### HmacSha256 @@ -716,6 +783,38 @@ func main() { } ``` +### HmacSha256WithBase64 + +

Return the hmac hash of string use sha256 with base64.

+ +Signature: + +```go +func HmacSha256WithBase64(str, key string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + key := "12345" + + hms := cryptor.HmacSha256WithBase64(str, key) + fmt.Println(hms) + + // Output: + // MVu5PE6YmGK6Ccti4F1zpfN2yzbw14btqwwyDQWf3nU= +} +``` + ### HmacSha512

Get the sha512 hmac hash of string.

@@ -742,6 +841,38 @@ func main() { } ``` +### HmacSha512WithBase64 + +

Return the hmac hash of string use sha512 with base64.

+ +Signature: + +```go +func HmacSha512WithBase64(str, key string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + key := "12345" + + hms := cryptor.HmacSha512WithBase64(str, key) + fmt.Println(hms) + + // Output: + // 3Y8SkKndI9NU4lJtmi6c6M///dN8syCADRxsE9Lvw2Mog3ahlsVFja9T+OGqa0Wm2FYwPVwKIGS/+XhYYdSM/A== +} +``` + ### Md5String

Get the md5 value of string.

@@ -768,6 +899,93 @@ func main() { } ``` +### Md5StringWithBase64 + +

Return the md5 value of string with base64.

+ +Signature: + +```go +func Md5StringWithBase64(s string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5StringWithBase64("hello") + fmt.Println(md5Str) + + // Output: + // XUFAKrxLKna5cZ2REBfFkg== +} +``` + +### Md5Byte + +

Return the md5 string of byte slice.

+ +Signature: + +```go +func Md5Byte(data []byte) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5Byte([]byte{'a'}) + fmt.Println(md5Str) + + // Output: + // 0cc175b9c0f1b6a831c399e269772661 +} +``` + +### Md5ByteWithBase64 + +

Return the md5 string of byte slice with base64.

+ +Signature: + +```go +func Md5ByteWithBase64(data []byte) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5ByteWithBase64([]byte("hello")) + fmt.Println(md5Str) + + // Output: + // XUFAKrxLKna5cZ2REBfFkg== +} +``` + ### Md5File

Get the md5 value of file.

@@ -820,6 +1038,35 @@ func main() { } ``` +### Sha1WithBase64 + +

Return the sha1 value (SHA-1 hash algorithm) of base64 string.

+ +Signature: + +```go +func Sha1WithBase64(str string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha1WithBase64("hello") + fmt.Println(result) + + // Output: + // qvTGHdzF6KLavt4PO0gs2a6pQ00= +} +``` + ### Sha256

Get the sha256 value of string.

@@ -846,6 +1093,35 @@ func main() { } ``` +### Sha256WithBase64 + +

Return the sha256 value (SHA256 hash algorithm) of base64 string.

+ +Signature: + +```go +func Sha256WithBase64(str string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha256WithBase64("hello") + fmt.Println(result) + + // Output: + // LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ= +} +``` + ### Sha512

Get the sha512 value of string.

@@ -872,6 +1148,35 @@ func main() { } ``` +### Sha512WithBase64 + +

Get the sha512 value of string with base64.

+ +Signature: + +```go +func Sha512WithBase64(str string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha512WithBase64("hello") + fmt.Println(result) + + // Output: + // m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw== +} +``` + ### GenerateRsaKey

Create the rsa public and private key file in current directory.

diff --git a/docs/cryptor_zh-CN.md b/docs/cryptor_zh-CN.md index 4491baa..339e017 100644 --- a/docs/cryptor_zh-CN.md +++ b/docs/cryptor_zh-CN.md @@ -47,13 +47,22 @@ import ( - [DesOfbDecrypt](#DesOfbDecrypt) - [HmacMd5](#HmacMd5) - [HmacSha1](#HmacSha1) +- [HmacSha1WithBase64](#HmacSha1WithBase64) - [HmacSha256](#HmacSha256) +- [HmacSha256WithBase64](#HmacSha256WithBase64) - [HmacSha512](#HmacSha512) +- [HmacSha512WithBase64](#HmacSha512WithBase64) - [Md5String](#Md5String) +- [Md5StringWithBase64](#Md5StringWithBase64) +- [Md5Byte](#Md5Byte) +- [Md5ByteWithBase64](#Md5ByteWithBase64) - [Md5File](#Md5File) - [Sha1](#Sha1) +- [Sha1WithBase64](#Sha1WithBase64) - [Sha256](#Sha256) +- [Sha256WithBase64](#Sha256WithBase64) - [Sha512](#Sha512) +- [Sha512WithBase64](#Sha512WithBase64) - [GenerateRsaKey](#GenerateRsaKey) - [RsaEncrypt](#RsaEncrypt) - [RsaDecrypt](#RsaDecrypt) @@ -663,6 +672,32 @@ func main() { } ``` +### HmacMd5WithBase64 + +

获取字符串md5 hmac base64值.

+ +函数签名: + +```go +func HmacMd5WithBase64(data, key string) string +``` + +Example: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + s := cryptor.HmacMd5WithBase64("hello", "12345")) + fmt.Println(s) //6DQwbquJLYclJdSRinpjmg== +} +``` + ### HmacSha1

获取字符串sha1 hmac值

@@ -689,17 +724,17 @@ func main() { } ``` -### HmacSha256 +### HmacSha1WithBase64 -

获取字符串sha256 hmac值

+

获取字符串的sha1 base64值。

函数签名: ```go -func HmacSha256(data, key string) string +func HmacSha1WithBase64(str, key string) string ``` -列子: +实例: ```go package main @@ -710,22 +745,93 @@ import ( ) func main() { - s := cryptor.HmacSha256("hello world", "12345")) - fmt.Println(s) //9dce2609f2d67d41f74c7f9efc8ccd44370d41ad2de52982627588dfe7289ab8 + str := "hello" + key := "12345" + + hms := cryptor.HmacSha1WithBase64(str, key) + fmt.Println(hms) + + // Output: + // XGqdsMzLkuNu0DI/0Jt/k23prOA= +} +``` + + +### HmacSha256 + +

获取字符串sha256 hmac值。

+ +函数签名: + +```go +func HmacSha256(str, key string) string +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + key := "12345" + + hms := cryptor.HmacSha256(str, key) + fmt.Println(hms) + + // Output: + // 315bb93c4e989862ba09cb62e05d73a5f376cb36f0d786edab0c320d059fde75 +} +``` + +### HmacSha256WithBase64 + +

获取字符串sha256 hmac base64值。

+ +函数签名: + +```go +func HmacSha256WithBase64(str, key string) string +``` + +实例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + key := "12345" + + hms := cryptor.HmacSha256WithBase64(str, key) + fmt.Println(hms) + + // Output: + // MVu5PE6YmGK6Ccti4F1zpfN2yzbw14btqwwyDQWf3nU= } ``` ### HmacSha512 -

获取字符串sha512 hmac值

+

获取字符串sha512 hmac值。

函数签名: ```go -func HmacSha512(data, key string) string +func HmacSha512(str, key string) string ``` -列子: +示例: ```go package main @@ -736,23 +842,28 @@ import ( ) func main() { - s := cryptor.HmacSha512("hello world", "12345")) - fmt.Println(s) - //5b1563ac4e9b49c9ada8ccb232588fc4f0c30fd12f756b3a0b95af4985c236ca60925253bae10ce2c6bf9af1c1679b51e5395ff3d2826c0a2c7c0d72225d4175 + str := "hello" + key := "12345" + + hms := cryptor.HmacSha512(str, key) + fmt.Println(hms) + + // Output: + // dd8f1290a9dd23d354e2526d9a2e9ce8cffffdd37cb320800d1c6c13d2efc363288376a196c5458daf53f8e1aa6b45a6d856303d5c0a2064bff9785861d48cfc } ``` -### Md5String +### HmacSha512WithBase64 -

获取字符串md5值

+

获取字符串sha512 hmac base64值。

函数签名: ```go -func Md5String(s string) string +func HmacSha512WithBase64(str, key string) string ``` -列子: +实例: ```go package main @@ -763,14 +874,139 @@ import ( ) func main() { - s := cryptor.Md5String("hello")) - fmt.Println(s) //5d41402abc4b2a76b9719d911017c592 + str := "hello" + key := "12345" + + hms := cryptor.HmacSha512WithBase64(str, key) + fmt.Println(hms) + + // Output: + // 3Y8SkKndI9NU4lJtmi6c6M///dN8syCADRxsE9Lvw2Mog3ahlsVFja9T+OGqa0Wm2FYwPVwKIGS/+XhYYdSM/A== +} +``` + + +### Md5String + +

获取字符串md5值。

+ +函数签名: + +```go +func Md5String(str string) string +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + str := "hello" + + md5Str := cryptor.Md5String(str) + fmt.Println(md5Str) + + // Output: + // 5d41402abc4b2a76b9719d911017c592 +} +``` + +### Md5StringWithBase64 + +

获取字符串md5 base64值。

+ +函数签名: + +```go +func Md5StringWithBase64(s string) string +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5StringWithBase64("hello") + fmt.Println(md5Str) + + // Output: + // XUFAKrxLKna5cZ2REBfFkg== +} +``` + +### Md5Byte + +

获取byte slice的md5值。

+ +函数签名: + +```go +func Md5Byte(data []byte) string +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5Byte([]byte{'a'}) + fmt.Println(md5Str) + + // Output: + // 0cc175b9c0f1b6a831c399e269772661 +} +``` + +### Md5ByteWithBase64 + +

获取byte slice的md5 base64值。

+ +函数签名: + +```go +func Md5ByteWithBase64(data []byte) string +``` + +实例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + md5Str := cryptor.Md5ByteWithBase64([]byte("hello")) + fmt.Println(md5Str) + + // Output: + // XUFAKrxLKna5cZ2REBfFkg== } ``` ### Md5File -

获取文件md5值.

+

获取文件md5值。

函数签名: @@ -778,7 +1014,7 @@ func main() { func Md5File(filepath string) (string, error) ``` -列子: +示例: ```go package main @@ -796,15 +1032,15 @@ func main() { ### Sha1 -

获取字符串sha1值

+

获取字符串sha1值。

函数签名: ```go -func Sha1(data string) string +func Sha1(str string) string ``` -列子: +示例: ```go package main @@ -815,22 +1051,56 @@ import ( ) func main() { - s := cryptor.Sha1("hello world")) - fmt.Println(s) //2aae6c35c94fcfb415dbe95f408b9ce91ee846ed + str := "hello" + + result := cryptor.Sha1(str) + fmt.Println(result) + + // Output: + // aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d +} +``` + +### Sha1WithBase64 + +

获取字符串sha1 base64值。

+ +函数签名: + +```go +func Sha1WithBase64(str string) string +``` + +实例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha1WithBase64("hello") + fmt.Println(result) + + // Output: + // qvTGHdzF6KLavt4PO0gs2a6pQ00= } ``` ### Sha256 -

获取字符串sha256值

+

获取字符串sha256值。

函数签名: ```go -func Sha256(data string) string +func Sha256(str string) string ``` -列子: +示例: ```go package main @@ -841,22 +1111,56 @@ import ( ) func main() { - s := cryptor.Sha256("hello world")) - fmt.Println(s) //b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 + str := "hello" + + result := cryptor.Sha256(str) + fmt.Println(result) + + // Output: + // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 +} +``` + +### Sha256WithBase64 + +

获取字符串sha256 base64值。

+ +函数签名: + +```go +func Sha256WithBase64(str string) string +``` + +实例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha256WithBase64("hello") + fmt.Println(result) + + // Output: + // LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ= } ``` ### Sha512 -

获取字符串sha512值

+

获取字符串sha512值。

函数签名: ```go -func Sha512(data string) string +func Sha512(str string) string ``` -列子: +示例: ```go package main @@ -867,8 +1171,42 @@ import ( ) func main() { - s := cryptor.Sha512("hello world")) - fmt.Println(s) //309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f + str := "hello" + + result := cryptor.Sha512(str) + fmt.Println(result) + + // Output: + // 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 +} +``` + +### Sha512WithBase64 + +

获取字符串sha512 base64值。

+ +函数签名: + +```go +func Sha512WithBase64(str string) string +``` + +实例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/cryptor" +) + +func main() { + result := cryptor.Sha512WithBase64("hello") + fmt.Println(result) + + // Output: + // m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw== } ``` @@ -958,7 +1296,7 @@ func main() { if err != nil { fmt.Println(err) } - + data := []byte("hello world") encrypted := cryptor.RsaEncrypt(data, "rsa_public.pem") decrypted := cryptor.RsaDecrypt(encrypted, "rsa_private.pem")