diff options
| author | Daniel Mangum <georgedanielmangum@gmail.com> | 2023-09-06 19:20:46 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-09-07 16:27:37 +0000 |
| commit | e90f1e17ee2ffe351a8295e8ae8b66afda2969c6 (patch) | |
| tree | 64eddcb4e2a4b2f1f269ad4b153ce938ae09e502 /cryptobyte/cryptobyte_test.go | |
| parent | d359caa4a39d59a440003b37a6cc7ace3871fd4a (diff) | |
| download | go-x-crypto-e90f1e17ee2ffe351a8295e8ae8b66afda2969c6.tar.xz | |
cryptobyte: add uint48 methods
Adds uint48 methods for cryptobyte.Builder and cryptobyte.String.
Supporting 48-bit unsigned integers is useful for working with protocols
that use them for sequence numbers, such as DTLS.
Fixes golang/go#61275
Change-Id: Ibe49422d37644b9212b28b123dc5e01850f7b05b
GitHub-Last-Rev: 11b388c240109c8f4ac23880645c901ce6d2f093
GitHub-Pull-Request: golang/crypto#265
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/508675
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: qiulaidongfeng <2645477756@qq.com>
Run-TryBot: Roland Shoemaker <roland@golang.org>
Auto-Submit: Roland Shoemaker <roland@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'cryptobyte/cryptobyte_test.go')
| -rw-r--r-- | cryptobyte/cryptobyte_test.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cryptobyte/cryptobyte_test.go b/cryptobyte/cryptobyte_test.go index dc90e81..9b55d52 100644 --- a/cryptobyte/cryptobyte_test.go +++ b/cryptobyte/cryptobyte_test.go @@ -179,6 +179,27 @@ func TestUint32(t *testing.T) { } } +func TestUint48(t *testing.T) { + var b Builder + var u uint64 = 0xfefcff3cfdfc + b.AddUint48(u) + if err := builderBytesEq(&b, 254, 252, 255, 60, 253, 252); err != nil { + t.Error(err) + } + + var s String = b.BytesOrPanic() + var v uint64 + if !s.ReadUint48(&v) { + t.Error("ReadUint48() = false, want true") + } + if v != u { + t.Errorf("v = %x, want %x", v, u) + } + if len(s) != 0 { + t.Errorf("len(s) = %d, want 0", len(s)) + } +} + func TestUint64(t *testing.T) { var b Builder b.AddUint64(0xf2fefefcff3cfdfc) |
