From 15929b76b6c653fa6ce2e48cf420323d99d9fc75 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 4 May 2023 12:14:32 +0300 Subject: [PATCH 1/1] Initial commit --- build | 4 ++++ cmd/goshake128/main.go | 24 ++++++++++++++++++++++++ cmd/goshake256/main.go | 24 ++++++++++++++++++++++++ go.mod | 7 +++++++ go.sum | 4 ++++ 5 files changed, 63 insertions(+) create mode 100755 build create mode 100644 cmd/goshake128/main.go create mode 100644 cmd/goshake256/main.go create mode 100644 go.mod create mode 100644 go.sum diff --git a/build b/build new file mode 100755 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 index 0000000..1511f12 --- /dev/null +++ b/cmd/goshake128/main.go @@ -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 index 0000000..6895fa5 --- /dev/null +++ b/cmd/goshake256/main.go @@ -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 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 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= -- 2.44.0