mirror of
https://github.com/duke-git/lancet.git
synced 2026-03-01 00:35:28 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a0431d9435 | |||
| 0456b65cc7 | |||
| 989b4dd791 | |||
| a76b02fbba | |||
| 2d7747738a |
@@ -40,6 +40,14 @@ func Md5String(s string) string {
|
|||||||
return hex.EncodeToString(h.Sum(nil))
|
return hex.EncodeToString(h.Sum(nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Md5String return the md5 value of string.
|
||||||
|
// Play: https://go.dev/play/p/Lx4gH7Vdr5_y
|
||||||
|
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.
|
// Md5Byte return the md5 string of byte slice.
|
||||||
// Play: https://go.dev/play/p/suraalH8lyC
|
// Play: https://go.dev/play/p/suraalH8lyC
|
||||||
func Md5Byte(data []byte) string {
|
func Md5Byte(data []byte) string {
|
||||||
@@ -48,6 +56,14 @@ func Md5Byte(data []byte) string {
|
|||||||
return hex.EncodeToString(h.Sum(nil))
|
return hex.EncodeToString(h.Sum(nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Md5Byte return the md5 string of byte slice.
|
||||||
|
// Play: https://go.dev/play/p/CkN9hYKGeAy
|
||||||
|
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.
|
// Md5File return the md5 value of file.
|
||||||
func Md5File(filename string) (string, error) {
|
func Md5File(filename string) (string, error) {
|
||||||
if fileInfo, err := os.Stat(filename); err != nil {
|
if fileInfo, err := os.Stat(filename); err != nil {
|
||||||
@@ -96,6 +112,14 @@ func HmacSha1(data, key string) string {
|
|||||||
return hex.EncodeToString(h.Sum([]byte("")))
|
return hex.EncodeToString(h.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HmacSha1 return the hmac hash of string use sha1.
|
||||||
|
// Play: https://go.dev/play/p/47JmmGrnF7B
|
||||||
|
func HmacSha1WithBase64(data, key string) string {
|
||||||
|
h := hmac.New(sha1.New, []byte(key))
|
||||||
|
h.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(h.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|
||||||
// HmacSha256 return the hmac hash of string use sha256.
|
// HmacSha256 return the hmac hash of string use sha256.
|
||||||
// Play: https://go.dev/play/p/HhpwXxFhhC0
|
// Play: https://go.dev/play/p/HhpwXxFhhC0
|
||||||
func HmacSha256(data, key string) string {
|
func HmacSha256(data, key string) string {
|
||||||
@@ -104,6 +128,14 @@ func HmacSha256(data, key string) string {
|
|||||||
return hex.EncodeToString(h.Sum([]byte("")))
|
return hex.EncodeToString(h.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HmacSha256 return the hmac hash of string use sha256 with base64.
|
||||||
|
// Play: https://go.dev/play/p/EKbkUvPTLwO
|
||||||
|
func HmacSha256WithBase64(data, key string) string {
|
||||||
|
h := hmac.New(sha256.New, []byte(key))
|
||||||
|
h.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(h.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|
||||||
// HmacSha512 return the hmac hash of string use sha512.
|
// HmacSha512 return the hmac hash of string use sha512.
|
||||||
// Play: https://go.dev/play/p/59Od6m4A0Ud
|
// Play: https://go.dev/play/p/59Od6m4A0Ud
|
||||||
func HmacSha512(data, key string) string {
|
func HmacSha512(data, key string) string {
|
||||||
@@ -112,6 +144,14 @@ func HmacSha512(data, key string) string {
|
|||||||
return hex.EncodeToString(h.Sum([]byte("")))
|
return hex.EncodeToString(h.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HmacSha512 return the hmac hash of string use sha512 with base64..
|
||||||
|
// Play: https://go.dev/play/p/61wBBOKO-GH
|
||||||
|
func HmacSha512WithBase64(data, key string) string {
|
||||||
|
h := hmac.New(sha512.New, []byte(key))
|
||||||
|
h.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(h.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|
||||||
// Sha1 return the sha1 value (SHA-1 hash algorithm) of string.
|
// Sha1 return the sha1 value (SHA-1 hash algorithm) of string.
|
||||||
// Play: https://go.dev/play/p/_m_uoD1deMT
|
// Play: https://go.dev/play/p/_m_uoD1deMT
|
||||||
func Sha1(data string) string {
|
func Sha1(data string) string {
|
||||||
@@ -120,6 +160,14 @@ func Sha1(data string) string {
|
|||||||
return hex.EncodeToString(sha1.Sum([]byte("")))
|
return hex.EncodeToString(sha1.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sha1 return the sha1 value (SHA-1 hash algorithm) of base64 string.
|
||||||
|
// Play: todo
|
||||||
|
func Sha1WithBase64(data string) string {
|
||||||
|
sha1 := sha1.New()
|
||||||
|
sha1.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(sha1.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|
||||||
// Sha256 return the sha256 value (SHA256 hash algorithm) of string.
|
// Sha256 return the sha256 value (SHA256 hash algorithm) of string.
|
||||||
// Play: https://go.dev/play/p/tU9tfBMIAr1
|
// Play: https://go.dev/play/p/tU9tfBMIAr1
|
||||||
func Sha256(data string) string {
|
func Sha256(data string) string {
|
||||||
@@ -128,6 +176,14 @@ func Sha256(data string) string {
|
|||||||
return hex.EncodeToString(sha256.Sum([]byte("")))
|
return hex.EncodeToString(sha256.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sha256 return the sha256 value (SHA256 hash algorithm) of base64 string.
|
||||||
|
// Play: https://go.dev/play/p/85IXJHIal1k
|
||||||
|
func Sha256WithBase64(data string) string {
|
||||||
|
sha256 := sha256.New()
|
||||||
|
sha256.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(sha256.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|
||||||
// Sha512 return the sha512 value (SHA512 hash algorithm) of string.
|
// Sha512 return the sha512 value (SHA512 hash algorithm) of string.
|
||||||
// Play: https://go.dev/play/p/3WsvLYZxsHa
|
// Play: https://go.dev/play/p/3WsvLYZxsHa
|
||||||
func Sha512(data string) string {
|
func Sha512(data string) string {
|
||||||
@@ -135,3 +191,11 @@ func Sha512(data string) string {
|
|||||||
sha512.Write([]byte(data))
|
sha512.Write([]byte(data))
|
||||||
return hex.EncodeToString(sha512.Sum([]byte("")))
|
return hex.EncodeToString(sha512.Sum([]byte("")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sha512 return the sha512 value (SHA512 hash algorithm) of base64 string.
|
||||||
|
// Play: https://go.dev/play/p/q_fY2rA-k5I
|
||||||
|
func Sha512WithBase64(data string) string {
|
||||||
|
sha512 := sha512.New()
|
||||||
|
sha512.Write([]byte(data))
|
||||||
|
return base64.StdEncoding.EncodeToString(sha512.Sum([]byte("")))
|
||||||
|
}
|
||||||
|
|||||||
+82
-2
@@ -27,6 +27,13 @@ func TestMd5String(t *testing.T) {
|
|||||||
assert.Equal("5d41402abc4b2a76b9719d911017c592", Md5String("hello"))
|
assert.Equal("5d41402abc4b2a76b9719d911017c592", Md5String("hello"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMd5StringWithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestMd5StringWithBase64")
|
||||||
|
assert.Equal("XUFAKrxLKna5cZ2REBfFkg==", Md5StringWithBase64("hello"))
|
||||||
|
}
|
||||||
|
|
||||||
func TestMd5Byte(t *testing.T) {
|
func TestMd5Byte(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -35,6 +42,13 @@ func TestMd5Byte(t *testing.T) {
|
|||||||
assert.Equal("0cc175b9c0f1b6a831c399e269772661", Md5Byte(data))
|
assert.Equal("0cc175b9c0f1b6a831c399e269772661", Md5Byte(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMd5ByteWithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestMd5ByteWithBase64")
|
||||||
|
assert.Equal("XUFAKrxLKna5cZ2REBfFkg==", Md5ByteWithBase64([]byte("hello")))
|
||||||
|
}
|
||||||
|
|
||||||
func TestMd5File(t *testing.T) {
|
func TestMd5File(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -63,18 +77,42 @@ func TestHmacSha1(t *testing.T) {
|
|||||||
assert.Equal(expected, hmacSha1)
|
assert.Equal(expected, hmacSha1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHmacSha1WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
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) {
|
func TestHmacSha256(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
s := "hello world"
|
str := "hello world"
|
||||||
key := "12345"
|
key := "12345"
|
||||||
hmacSha256 := HmacSha256(s, key)
|
hmacSha256 := HmacSha256(str, key)
|
||||||
expected := "9dce2609f2d67d41f74c7f9efc8ccd44370d41ad2de52982627588dfe7289ab8"
|
expected := "9dce2609f2d67d41f74c7f9efc8ccd44370d41ad2de52982627588dfe7289ab8"
|
||||||
|
|
||||||
assert := internal.NewAssert(t, "TestHmacSha256")
|
assert := internal.NewAssert(t, "TestHmacSha256")
|
||||||
assert.Equal(expected, hmacSha256)
|
assert.Equal(expected, hmacSha256)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHmacSha256WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
str := "hello"
|
||||||
|
key := "12345"
|
||||||
|
hms := HmacSha256WithBase64(str, key)
|
||||||
|
expected := "MVu5PE6YmGK6Ccti4F1zpfN2yzbw14btqwwyDQWf3nU="
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestHmacSha256WithBase64")
|
||||||
|
assert.Equal(expected, hms)
|
||||||
|
}
|
||||||
|
|
||||||
func TestHmacSha512(t *testing.T) {
|
func TestHmacSha512(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -87,6 +125,18 @@ func TestHmacSha512(t *testing.T) {
|
|||||||
assert.Equal(expected, hmacSha512)
|
assert.Equal(expected, hmacSha512)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHmacSha512WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
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) {
|
func TestSha1(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -98,6 +148,16 @@ func TestSha1(t *testing.T) {
|
|||||||
assert.Equal(expected, sha1)
|
assert.Equal(expected, sha1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSha1WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
str := Sha1WithBase64("hello")
|
||||||
|
expected := "qvTGHdzF6KLavt4PO0gs2a6pQ00="
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestSha1WithBase64")
|
||||||
|
assert.Equal(expected, str)
|
||||||
|
}
|
||||||
|
|
||||||
func TestSha256(t *testing.T) {
|
func TestSha256(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -109,6 +169,16 @@ func TestSha256(t *testing.T) {
|
|||||||
assert.Equal(expected, sha256)
|
assert.Equal(expected, sha256)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSha256WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
str := Sha256WithBase64("hello")
|
||||||
|
expected := "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ="
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestSha256WithBase64")
|
||||||
|
assert.Equal(expected, str)
|
||||||
|
}
|
||||||
|
|
||||||
func TestSha512(t *testing.T) {
|
func TestSha512(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
@@ -119,3 +189,13 @@ func TestSha512(t *testing.T) {
|
|||||||
assert := internal.NewAssert(t, "TestSha512")
|
assert := internal.NewAssert(t, "TestSha512")
|
||||||
assert.Equal(expected, sha512)
|
assert.Equal(expected, sha512)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSha512WithBase64(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
str := Sha512WithBase64("hello")
|
||||||
|
expected := "m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw=="
|
||||||
|
|
||||||
|
assert := internal.NewAssert(t, "TestSha512WithBase64")
|
||||||
|
assert.Equal(expected, str)
|
||||||
|
}
|
||||||
|
|||||||
@@ -322,7 +322,6 @@ func ExampleHmacMd5() {
|
|||||||
key := "12345"
|
key := "12345"
|
||||||
|
|
||||||
hms := HmacMd5(str, key)
|
hms := HmacMd5(str, key)
|
||||||
|
|
||||||
fmt.Println(hms)
|
fmt.Println(hms)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
@@ -334,37 +333,67 @@ func ExampleHmacSha1() {
|
|||||||
key := "12345"
|
key := "12345"
|
||||||
|
|
||||||
hms := HmacSha1(str, key)
|
hms := HmacSha1(str, key)
|
||||||
|
|
||||||
fmt.Println(hms)
|
fmt.Println(hms)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
// 5c6a9db0cccb92e36ed0323fd09b7f936de9ace0
|
// 5c6a9db0cccb92e36ed0323fd09b7f936de9ace0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleHmacSha1WithBase64() {
|
||||||
|
str := "hello"
|
||||||
|
key := "12345"
|
||||||
|
|
||||||
|
hms := HmacSha1WithBase64(str, key)
|
||||||
|
fmt.Println(hms)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// XGqdsMzLkuNu0DI/0Jt/k23prOA=
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleHmacSha256() {
|
func ExampleHmacSha256() {
|
||||||
str := "hello"
|
str := "hello"
|
||||||
key := "12345"
|
key := "12345"
|
||||||
|
|
||||||
hms := HmacSha256(str, key)
|
hms := HmacSha256(str, key)
|
||||||
|
|
||||||
fmt.Println(hms)
|
fmt.Println(hms)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
// 315bb93c4e989862ba09cb62e05d73a5f376cb36f0d786edab0c320d059fde75
|
// 315bb93c4e989862ba09cb62e05d73a5f376cb36f0d786edab0c320d059fde75
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleHmacSha256WithBase64() {
|
||||||
|
str := "hello"
|
||||||
|
key := "12345"
|
||||||
|
|
||||||
|
hms := HmacSha256WithBase64(str, key)
|
||||||
|
fmt.Println(hms)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// MVu5PE6YmGK6Ccti4F1zpfN2yzbw14btqwwyDQWf3nU=
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleHmacSha512() {
|
func ExampleHmacSha512() {
|
||||||
str := "hello"
|
str := "hello"
|
||||||
key := "12345"
|
key := "12345"
|
||||||
|
|
||||||
hms := HmacSha512(str, key)
|
hms := HmacSha512(str, key)
|
||||||
|
|
||||||
fmt.Println(hms)
|
fmt.Println(hms)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
// dd8f1290a9dd23d354e2526d9a2e9ce8cffffdd37cb320800d1c6c13d2efc363288376a196c5458daf53f8e1aa6b45a6d856303d5c0a2064bff9785861d48cfc
|
// dd8f1290a9dd23d354e2526d9a2e9ce8cffffdd37cb320800d1c6c13d2efc363288376a196c5458daf53f8e1aa6b45a6d856303d5c0a2064bff9785861d48cfc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleHmacSha512WithBase64() {
|
||||||
|
str := "hello"
|
||||||
|
key := "12345"
|
||||||
|
|
||||||
|
hms := HmacSha512WithBase64(str, key)
|
||||||
|
fmt.Println(hms)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// 3Y8SkKndI9NU4lJtmi6c6M///dN8syCADRxsE9Lvw2Mog3ahlsVFja9T+OGqa0Wm2FYwPVwKIGS/+XhYYdSM/A==
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleMd5String() {
|
func ExampleMd5String() {
|
||||||
md5Str := Md5String("hello")
|
md5Str := Md5String("hello")
|
||||||
fmt.Println(md5Str)
|
fmt.Println(md5Str)
|
||||||
@@ -373,6 +402,14 @@ func ExampleMd5String() {
|
|||||||
// 5d41402abc4b2a76b9719d911017c592
|
// 5d41402abc4b2a76b9719d911017c592
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleMd5StringWithBase64() {
|
||||||
|
md5Str := Md5StringWithBase64("hello")
|
||||||
|
fmt.Println(md5Str)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// XUFAKrxLKna5cZ2REBfFkg==
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleMd5Byte() {
|
func ExampleMd5Byte() {
|
||||||
md5Str := Md5Byte([]byte{'a'})
|
md5Str := Md5Byte([]byte{'a'})
|
||||||
fmt.Println(md5Str)
|
fmt.Println(md5Str)
|
||||||
@@ -380,6 +417,15 @@ func ExampleMd5Byte() {
|
|||||||
// Output:
|
// Output:
|
||||||
// 0cc175b9c0f1b6a831c399e269772661
|
// 0cc175b9c0f1b6a831c399e269772661
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleMd5ByteWithBase64() {
|
||||||
|
md5Str := Md5ByteWithBase64([]byte("hello"))
|
||||||
|
fmt.Println(md5Str)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// XUFAKrxLKna5cZ2REBfFkg==
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleSha1() {
|
func ExampleSha1() {
|
||||||
result := Sha1("hello")
|
result := Sha1("hello")
|
||||||
fmt.Println(result)
|
fmt.Println(result)
|
||||||
@@ -388,6 +434,14 @@ func ExampleSha1() {
|
|||||||
// aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
|
// aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleSha1WithBase64() {
|
||||||
|
result := Sha1WithBase64("hello")
|
||||||
|
fmt.Println(result)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// qvTGHdzF6KLavt4PO0gs2a6pQ00=
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleSha256() {
|
func ExampleSha256() {
|
||||||
result := Sha256("hello")
|
result := Sha256("hello")
|
||||||
fmt.Println(result)
|
fmt.Println(result)
|
||||||
@@ -396,6 +450,14 @@ func ExampleSha256() {
|
|||||||
// 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
|
// 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleSha256WithBase64() {
|
||||||
|
result := Sha256WithBase64("hello")
|
||||||
|
fmt.Println(result)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleSha512() {
|
func ExampleSha512() {
|
||||||
result := Sha512("hello")
|
result := Sha512("hello")
|
||||||
fmt.Println(result)
|
fmt.Println(result)
|
||||||
@@ -403,3 +465,11 @@ func ExampleSha512() {
|
|||||||
// Output:
|
// Output:
|
||||||
// 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
|
// 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleSha512WithBase64() {
|
||||||
|
result := Sha512WithBase64("hello")
|
||||||
|
fmt.Println(result)
|
||||||
|
|
||||||
|
// Output:
|
||||||
|
// m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw==
|
||||||
|
}
|
||||||
|
|||||||
@@ -42,13 +42,18 @@ func TestConcurrentMap_GetOrSet(t *testing.T) {
|
|||||||
|
|
||||||
cm := NewConcurrentMap[string, int](100)
|
cm := NewConcurrentMap[string, int](100)
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(5)
|
||||||
|
|
||||||
for i := 0; i < 5; i++ {
|
for i := 0; i < 5; i++ {
|
||||||
go func(n int) {
|
go func(n int) {
|
||||||
val, ok := cm.GetOrSet(fmt.Sprintf("%d", n), n)
|
val, ok := cm.GetOrSet(fmt.Sprintf("%d", n), n)
|
||||||
assert.Equal(n, val)
|
assert.Equal(n, val)
|
||||||
assert.Equal(false, ok)
|
assert.Equal(false, ok)
|
||||||
|
wg.Done()
|
||||||
}(i)
|
}(i)
|
||||||
}
|
}
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
for j := 0; j < 5; j++ {
|
for j := 0; j < 5; j++ {
|
||||||
go func(n int) {
|
go func(n int) {
|
||||||
|
|||||||
Reference in New Issue
Block a user