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) } }