Files
go-afero-encfs/main.go
2024-09-01 23:48:01 +08:00

57 lines
1.1 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}
encFs := encfs.NewEncFs(key)
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))
}()
encFs.Remove("test")
}