gocryptfs 是一个使用 Go 开发的,加密的覆盖文件系统。gocryptfs 基于 go- fuse FUSE 库和其 LoopbackFileSystem API 构建。gocryptfs 灵感来源于 EncFS,修复了其安全问题,提供更好的性能。
gocryptfs 当前只支持 Linux 系统,以后会继续支持 OS X。
安装:
$ go get github.com/rfjakob/gocryptfs
使用:
$ mkdir cipher plain $ $GOPATH/bin/gocryptfs --init cipher [...] $ $GOPATH/bin/gocryptfs cipher plain [...] $ echo test > plain/test.txt $ ls -l cipher total 8 -rw-rw-r--. 1 user user 33 7. Okt 23:23 0ao8Hyyf1A-A88sfNvkUxA== -rw-rw-r--. 1 user user 233 7. Okt 23:23 gocryptfs.conf $ fusermount -u plain
性能:
./benchmark.bash gocryptfs v0.3.1-30-gd69e0df-dirty; on-disk format 2 PASS BenchmarkStreamWrite-2 100 12246070 ns/op 85.63 MB/s BenchmarkStreamRead-2 200 9125990 ns/op 114.90 MB/s BenchmarkCreate0B-2 10000 101284 ns/op BenchmarkCreate1B-2 10000 178356 ns/op 0.01 MB/s BenchmarkCreate100B-2 5000 361014 ns/op 0.28 MB/s BenchmarkCreate4kB-2 5000 375035 ns/op 10.92 MB/s BenchmarkCreate10kB-2 3000 491071 ns/op 20.85 MB/s ok github.com/rfjakob/gocryptfs/integration_tests 17.216s