Files
go-afero-encfs/main.go

80 lines
1.7 KiB
Go

package main
import (
"encoding/hex"
"fmt"
"io"
"git.hatter.ink/hatter/go-afero-encfs/encfs"
)
func main() {
key := []byte{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
fmt.Println(hex.EncodeToString(key))
encFs := encfs.NewEncFs(key)
encFs2 := encfs.NewEncFs(nil)
write := false
// -----------------------------------------------------------------------------------------------------------------------------------
encFile1, err := encFs2.Create("test1")
if err != nil {
fmt.Println(err)
return
}
encFile1.Write([]byte("hello world"))
encFile1.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"))
encFile1.Close()
encFile2, err := encFs2.Create("test2")
if err != nil {
fmt.Println(err)
return
}
encFile2.Write([]byte("hello world"))
// 0 move
// 1, 2 append 00
// 3 no effect
seekI, err := encFile2.Seek(2, 3)
fmt.Println(seekI, ", ", err)
encFile2.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"))
encFile2.Close()
// -----------------------------------------------------------------------------------------------------------------------------------
if write {
encFile, err := encFs.Create("test")
if err != nil {
fmt.Println(err)
return
}
encFile.Write([]byte("hello world"))
// seekI, err := encFile.Seek(1, 1)
// fmt.Println(seekI, ", ", err)
encFile.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"))
// encFile.WriteAt([]byte("YYYYYYYYYYYYYYYYYYYYYYYY"), 1)
// encFile.Write([]byte("Z"))
// encFile.Write([]byte("---------------------------------------"))
// encFile.Write([]byte("Z"))
} else {
encFile, err := encFs.Open("test")
if err != nil {
fmt.Println(err)
return
}
rr, err := io.ReadAll(encFile)
fmt.Println(hex.EncodeToString(rr))
fmt.Println(string(rr), err)
}
}