summaryrefslogtreecommitdiff
path: root/vendor/git.iim.gay/grufwub/go-hashenc/enc.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2021-09-12 10:10:24 +0100
committerLibravatar GitHub <noreply@github.com>2021-09-12 10:10:24 +0100
commitf6492d12d948507021bbe934de94e87e20464c01 (patch)
tree6705d6ef6f3c4d70f3b3ebc77c2960d8e508cf37 /vendor/git.iim.gay/grufwub/go-hashenc/enc.go
parentMerge pull request #213 from superseriousbusiness/alpine+node_upstep (diff)
parentfix keys used to access storage items (diff)
downloadgotosocial-f6492d12d948507021bbe934de94e87e20464c01.tar.xz
Merge pull request #214 from NyaaaWhatsUpDoc/improvement/update-storage-library
add git.iim.gay/grufwub/go-store for storage backend, replacing blob.Storage
Diffstat (limited to 'vendor/git.iim.gay/grufwub/go-hashenc/enc.go')
-rw-r--r--vendor/git.iim.gay/grufwub/go-hashenc/enc.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/git.iim.gay/grufwub/go-hashenc/enc.go b/vendor/git.iim.gay/grufwub/go-hashenc/enc.go
new file mode 100644
index 000000000..39b342843
--- /dev/null
+++ b/vendor/git.iim.gay/grufwub/go-hashenc/enc.go
@@ -0,0 +1,42 @@
+package hashenc
+
+import (
+ "encoding/base32"
+ "encoding/base64"
+ "encoding/hex"
+)
+
+// Encoder defines an interface for encoding binary data
+type Encoder interface {
+ // Encode encodes the data at src into dst
+ Encode(dst []byte, src []byte)
+
+ // EncodedLen returns the encoded length for input data of supplied length
+ EncodedLen(int) int
+}
+
+// Base32 returns a new base32 Encoder
+func Base32() Encoder {
+ return base32.StdEncoding.WithPadding(base64.NoPadding)
+}
+
+// Base64 returns a new base64 Encoder
+func Base64() Encoder {
+ return base64.URLEncoding.WithPadding(base64.NoPadding)
+}
+
+// Hex returns a new hex Encoder
+func Hex() Encoder {
+ return &hexEncoder{}
+}
+
+// hexEncoder simply provides an empty receiver to satisfy Encoder
+type hexEncoder struct{}
+
+func (*hexEncoder) Encode(dst []byte, src []byte) {
+ hex.Encode(dst, src)
+}
+
+func (*hexEncoder) EncodedLen(len int) int {
+ return hex.EncodedLen(len)
+}