]> Sergey Matveev's repositories - gosha3.git/commitdiff
Initial commit master v1.0.0
authorSergey Matveev <stargrave@stargrave.org>
Thu, 4 May 2023 09:14:32 +0000 (12:14 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 4 May 2023 09:19:22 +0000 (12:19 +0300)
build [new file with mode: 0755]
cmd/goshake128/main.go [new file with mode: 0644]
cmd/goshake256/main.go [new file with mode: 0644]
go.mod [new file with mode: 0644]
go.sum [new file with mode: 0644]

diff --git a/build b/build
new file mode 100755 (executable)
index 0000000..5dfda95
--- /dev/null
+++ b/build
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+go build -ldflags=-s ./cmd/goshake128
+go build -ldflags=-s ./cmd/goshake256
diff --git a/cmd/goshake128/main.go b/cmd/goshake128/main.go
new file mode 100644 (file)
index 0000000..1511f12
--- /dev/null
@@ -0,0 +1,24 @@
+package main
+
+import (
+       "bufio"
+       "encoding/hex"
+       "fmt"
+       "io"
+       "os"
+
+       "golang.org/x/crypto/sha3"
+)
+
+func main() {
+       h := sha3.NewShake128()
+       dgst := make([]byte, 32)
+       var err error
+       if _, err = io.Copy(h, bufio.NewReaderSize(os.Stdin, 1<<20)); err != nil {
+               panic(err)
+       }
+       if _, err = io.ReadFull(h, dgst); err != nil {
+               panic(err)
+       }
+       fmt.Println(hex.EncodeToString(dgst))
+}
diff --git a/cmd/goshake256/main.go b/cmd/goshake256/main.go
new file mode 100644 (file)
index 0000000..6895fa5
--- /dev/null
@@ -0,0 +1,24 @@
+package main
+
+import (
+       "bufio"
+       "encoding/hex"
+       "fmt"
+       "io"
+       "os"
+
+       "golang.org/x/crypto/sha3"
+)
+
+func main() {
+       h := sha3.NewShake256()
+       dgst := make([]byte, 64)
+       var err error
+       if _, err = io.Copy(h, bufio.NewReaderSize(os.Stdin, 1<<20)); err != nil {
+               panic(err)
+       }
+       if _, err = io.ReadFull(h, dgst); err != nil {
+               panic(err)
+       }
+       fmt.Println(hex.EncodeToString(dgst))
+}
diff --git a/go.mod b/go.mod
new file mode 100644 (file)
index 0000000..ecfb048
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,7 @@
+module go.stargrave.org/gosha3
+
+go 1.20
+
+require golang.org/x/crypto v0.8.0
+
+require golang.org/x/sys v0.7.0 // indirect
diff --git a/go.sum b/go.sum
new file mode 100644 (file)
index 0000000..81d231e
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,4 @@
+golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ=
+golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
+golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=