Skip to content

Commit ec1327d

Browse files
committed
Added internal package secret
1 parent b267295 commit ec1327d

File tree

5 files changed

+78
-8
lines changed

5 files changed

+78
-8
lines changed

internal/secret/password.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package secret
2+
3+
func Password(password string) string {
4+
var (
5+
bytes = []byte(password)
6+
startPosition = 3
7+
endPosition = len(bytes) - 2
8+
)
9+
if startPosition > endPosition {
10+
for i := range bytes {
11+
bytes[i] = '*'
12+
}
13+
} else {
14+
for i := startPosition; i < endPosition; i++ {
15+
bytes[i] = '*'
16+
}
17+
}
18+
return string(bytes)
19+
}

internal/secret/password_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package secret
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestPassword(t *testing.T) {
10+
for _, tt := range []struct {
11+
password string
12+
exp string
13+
}{
14+
{
15+
password: "test",
16+
exp: "****",
17+
},
18+
{
19+
password: "test-long-password",
20+
exp: "tes*************rd",
21+
},
22+
} {
23+
t.Run("", func(t *testing.T) {
24+
require.Equal(t, tt.exp, Password(tt.password))
25+
})
26+
}
27+
}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
package log
1+
package secret
22

33
import (
44
"bytes"
55
"fmt"
66
"hash/crc32"
77
)
88

9-
func Secret(secret string) string {
9+
func Token(token string) string {
1010
var mask bytes.Buffer
11-
if len(secret) > 16 {
12-
mask.WriteString(secret[:4])
11+
if len(token) > 16 {
12+
mask.WriteString(token[:4])
1313
mask.WriteString("****")
14-
mask.WriteString(secret[len(secret)-4:])
14+
mask.WriteString(token[len(token)-4:])
1515
} else {
1616
mask.WriteString("****")
1717
}
18-
mask.WriteString(fmt.Sprintf("(CRC-32c: %08X)", crc32.Checksum([]byte(secret), crc32.IEEETable)))
18+
mask.WriteString(fmt.Sprintf("(CRC-32c: %08X)", crc32.Checksum([]byte(token), crc32.IEEETable)))
1919
return mask.String()
2020
}

internal/secret/token_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package secret
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestToken(t *testing.T) {
10+
for _, tt := range []struct {
11+
token string
12+
exp string
13+
}{
14+
{
15+
token: "t1.9euelZqOnJiKlcuPzciQyJjNyZ6OzO3rnpWaj53JlZKcy8aTyoyYm8-Uz8ABguCyAUPnxXz391GzzByWXoOxBT7krgydRAkaqyL7G4VVZCQDN1lZ8Lxk_sKbBMpbRn51r8dxNJNzr80ai5AQ", //nolint:lll
16+
exp: "t1.9****i5AQ(CRC-32c: B83EA6E4)",
17+
},
18+
} {
19+
t.Run("", func(t *testing.T) {
20+
require.Equal(t, tt.exp, Token(tt.token))
21+
})
22+
}
23+
}

log/driver.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"time"
66

7+
"github.com/ydb-platform/ydb-go-sdk/v3/internal/secret"
78
"github.com/ydb-platform/ydb-go-sdk/v3/trace"
89
)
910

@@ -444,13 +445,13 @@ func internalDriver(l *wrapper, d trace.Detailer) (t trace.Driver) { //nolint:go
444445
if info.Error == nil {
445446
l.Log(ctx, "done",
446447
latency(start),
447-
String("token", Secret(info.Token)),
448+
String("token", secret.Token(info.Token)),
448449
)
449450
} else {
450451
l.Log(WithLevel(ctx, ERROR), "done",
451452
Error(info.Error),
452453
latency(start),
453-
String("token", Secret(info.Token)),
454+
String("token", secret.Token(info.Token)),
454455
version(),
455456
)
456457
}

0 commit comments

Comments
 (0)