From c32e66bd1ec8ff3f89b72b6a58bb7e610ff0bb1a Mon Sep 17 00:00:00 2001 From: euphoria-laxis Date: Thu, 28 Nov 2024 22:01:52 +0100 Subject: [PATCH] Set version and remove subpackages --- decoder/decoder.go => decoder.go | 11 ++++--- decoder/decoder_test.go => decoder_test.go | 24 +++++++-------- encoder/encoder.go => encoder.go | 2 +- encoder/encoder_test.go | 33 -------------------- encoder_test.go | 35 ++++++++++++++++++++++ go.mod | 2 +- encoder/options.go => options.go | 2 +- 7 files changed, 55 insertions(+), 54 deletions(-) rename decoder/decoder.go => decoder.go (80%) rename decoder/decoder_test.go => decoder_test.go (57%) rename encoder/encoder.go => encoder.go (98%) delete mode 100644 encoder/encoder_test.go create mode 100644 encoder_test.go rename encoder/options.go => options.go (98%) diff --git a/decoder/decoder.go b/decoder.go similarity index 80% rename from decoder/decoder.go rename to decoder.go index 54f8ecc..3d1fd6c 100644 --- a/decoder/decoder.go +++ b/decoder.go @@ -1,4 +1,4 @@ -package decoder +package argon2 import ( "crypto/subtle" @@ -6,7 +6,6 @@ import ( "fmt" "strings" - "euphoria-laxis.fr/go-packages/argon2/encoder" "golang.org/x/crypto/argon2" ) @@ -16,10 +15,10 @@ func NewDecoder() *Decoder { return new(Decoder) } -func (decoder *Decoder) decodeHash(encodedHash string) (o *encoder.Options, salt, hash []byte, err error) { +func (decoder *Decoder) decodeHash(encodedHash string) (o *Options, salt, hash []byte, err error) { values := strings.Split(encodedHash, "$") if len(values) != 6 { - return nil, nil, nil, encoder.ErrInvalidHash + return nil, nil, nil, ErrInvalidHash } var version int _, err = fmt.Sscanf(values[2], "v=%d", &version) @@ -27,9 +26,9 @@ func (decoder *Decoder) decodeHash(encodedHash string) (o *encoder.Options, salt return nil, nil, nil, err } if version != argon2.Version { - return nil, nil, nil, encoder.ErrIncompatibleVersion + return nil, nil, nil, ErrIncompatibleVersion } - o = new(encoder.Options) + o = new(Options) _, err = fmt.Sscanf(values[3], "m=%d,t=%d,p=%d", &o.Memory, &o.Iterations, &o.Parallelism) if err != nil { return nil, nil, nil, err diff --git a/decoder/decoder_test.go b/decoder_test.go similarity index 57% rename from decoder/decoder_test.go rename to decoder_test.go index 8211bd1..8878357 100644 --- a/decoder/decoder_test.go +++ b/decoder_test.go @@ -1,30 +1,30 @@ -package decoder +package argon2_test import ( "testing" - "euphoria-laxis.fr/go-packages/argon2/encoder" + "euphoria-laxis.fr/go-packages/argon2/v1.1.0" ) func TestDecoder(t *testing.T) { - opts := []encoder.OptFunc{ - encoder.SetMemory(32 * 1024), // 32 bits - encoder.SetParallelism(4), // 4 concurrent actions - encoder.SetKeyLength(32), // key length - encoder.SetSaltLength(32), // salt length - encoder.SetIterations(4), // 4 iterations, should be fast since there's 4 concurrent actions + opts = []argon2.OptFunc{ + argon2.SetMemory(32 * 1024), // 32 bits + argon2.SetParallelism(4), // 4 concurrent actions + argon2.SetKeyLength(32), // key length + argon2.SetSaltLength(32), // salt length + argon2.SetIterations(4), // 4 iterations, should be fast since there's 4 concurrent actions } - e, _ := encoder.NewEncoder(opts...) - randomString, err := e.RandomString(32) + e, _ := argon2.NewEncoder(opts...) + var err error + randomString, err = e.RandomString(32) if err != nil { t.Fatal(err) } - var hashedString string hashedString, err = e.HashString(randomString) if err != nil { t.Fatal(err) } - d := NewDecoder() + d := argon2.NewDecoder() var match bool match, err = d.CompareStringToHash(randomString, hashedString) if err != nil { diff --git a/encoder/encoder.go b/encoder.go similarity index 98% rename from encoder/encoder.go rename to encoder.go index 2c4e1a5..6abf745 100644 --- a/encoder/encoder.go +++ b/encoder.go @@ -1,4 +1,4 @@ -package encoder +package argon2 import ( "crypto/rand" diff --git a/encoder/encoder_test.go b/encoder/encoder_test.go deleted file mode 100644 index 0b19f55..0000000 --- a/encoder/encoder_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package encoder - -import ( - "testing" -) - -var ( - randomString, hashedString string - opts []OptFunc -) - -func TestOptions(t *testing.T) { - opts = []OptFunc{ - SetMemory(32 * 1024), // 32 bits - SetParallelism(4), // 4 concurrent actions - SetKeyLength(32), // key length - SetSaltLength(32), // salt length - SetIterations(4), // 4 iterations, should be fast since there's 4 concurrent actions - } -} - -func TestEncoder(t *testing.T) { - var err error - e, _ := NewEncoder(opts...) - randomString, err = e.RandomString(32) - if err != nil { - t.Fatal(err) - } - hashedString, err = e.HashString(randomString) - if err != nil { - t.Fatal(err) - } -} diff --git a/encoder_test.go b/encoder_test.go new file mode 100644 index 0000000..81622ef --- /dev/null +++ b/encoder_test.go @@ -0,0 +1,35 @@ +package argon2_test + +import ( + "testing" + + "euphoria-laxis.fr/go-packages/argon2/v1.1.0" +) + +var ( + randomString, hashedString string + opts []argon2.OptFunc +) + +func TestOptions(t *testing.T) { + opts = []argon2.OptFunc{ + argon2.SetMemory(32 * 1024), // 32 bits + argon2.SetParallelism(4), // 4 concurrent actions + argon2.SetKeyLength(32), // key length + argon2.SetSaltLength(32), // salt length + argon2.SetIterations(4), // 4 iterations, should be fast since there's 4 concurrent actions + } +} + +func TestEncoder(t *testing.T) { + var err error + e, _ := argon2.NewEncoder(opts...) + randomString, err = e.RandomString(32) + if err != nil { + t.Fatal(err) + } + hashedString, err = e.HashString(randomString) + if err != nil { + t.Fatal(err) + } +} diff --git a/go.mod b/go.mod index 2b4f819..568ed7c 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module euphoria-laxis.fr/go-packages/argon2 +module euphoria-laxis.fr/go-packages/argon2/v1.1.0 go 1.23 diff --git a/encoder/options.go b/options.go similarity index 98% rename from encoder/options.go rename to options.go index 38a6d72..0dd8c12 100644 --- a/encoder/options.go +++ b/options.go @@ -1,4 +1,4 @@ -package encoder +package argon2 import "errors"