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) // ----------------------------------------------------------------------------------------------------------------------------------- encFile1, err := encFs2.Create("test1") if err != nil { fmt.Println(err) return } encFile1.Write([]byte("hello world")) encFile1.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")) encFile1.WriteAt([]byte("TEST"), 10) encFile1.Write([]byte("------")) encFile1.Close() encFile2, err := encFs2.Create("test2") if err != nil { fmt.Println(err) return } encFile2.Write([]byte("hello world")) seekI, err := encFile2.Seek(2, 0) fmt.Println(seekI, ", ", err) encFile2.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")) encFile2.Write([]byte("------")) encFile2.Close() // ----------------------------------------------------------------------------------------------------------------------------------- func() { encFile, err := encFs.Create("test") if err != nil { fmt.Println(err) return } defer encFile.Close() encFile.Write([]byte("hello world")) encFile.Write([]byte("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")) encFile.WriteAt([]byte("TEST"), 10) encFile.Write([]byte("------")) encFile.Write([]byte("Z")) encFile.Write([]byte("---------------------------------------")) encFile.Write([]byte("Z")) }() func() { 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) buff := make([]byte, 5) readLen, err := encFile.ReadAt(buff, 3) fmt.Println(readLen, err) fmt.Println(string(buff)) readLen, err = encFile.Read(buff) fmt.Println(readLen, err) fmt.Println(string(buff)) }() }