GitHub - unix4fun/naclpipe: NaCL pipe (original) (raw)

A simple experimental Go package providing an io.Reader/io.Writer interface with an NaCL (pronounced 'Salt') crypto backend.

import "github.com/unix4fun/naclpipe"

// block size can be arbitrary, we read in block of datas
block := make([]byte, 8192)

// initilize my reader from stdin
cryptoReader, err := naclpipe.NewReader(os.Stdin, "mysuperduperpassword", naclpipe.DerivateArgon2id)
if err != nil {
    log.Fatalf("naclpipe error")
}

// read & decipher in block
_, err := cryptoReader.Read(b)