filehash

package module
v0.0.0-...-01d982e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2022 License: MIT Imports: 6 Imported by: 0

README

filehash

create and manage files with an embedded checksum header

The filehash header holds the file checksum value based on a SHA256 of the data. The header is available immediatley after a successful filehash.Open when reading from file, and immediately after a successful filehash.Close when writing to a file.

                       0       2     34       36 ... [n]
header/data layout : [[prefix][hash][suffix]][data...]

Sample Usage

var test = "test.fh"

func TestWriter() {
	fh, err := filehash.NewWriter(test)
	if err != nil {
		log.Println(err)
	}
	defer fh.Close()
	fh.Write([]byte("hello filehash"))
}

func TestReader() {
	fh, err := filehash.NewReader(test)
	if err != nil {
		log.Prinln(err)
	}
	defer fh.Close()
	var buf = make([]byte, 512)
	fh.Read(buf[:])
	log.Println(fh.Hex())
	log.Println(string(buf))
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Header struct {
	// contains filtered or unexported fields
}

Header type holds the file checksum value based on a SHA256

                       0       2     34       36 ... [n]
	header+data layout : [[prefix][hash][suffix]][data]

func (*Header) Hex

func (h *Header) Hex() string

Hex value of the header checksum

type Reader

type Reader struct {
	Header
	// contains filtered or unexported fields
}

Reader type for filehash files

func NewReader

func NewReader(path string) (*Reader, error)

Open a filehash file

func (*Reader) Close

func (r *Reader) Close()

Close file

func (*Reader) Open

func (r *Reader) Open(path string) error

Open file and read the filehash header

func (*Reader) Read

func (r *Reader) Read(p []byte) (int, error)

Read supports io.Reader interface

type Writer

type Writer struct {
	Header
	// contains filtered or unexported fields
}

Writer type for filehash files

func NewWriter

func NewWriter(path string) (*Writer, error)

Create a filehash file

func (*Writer) Close

func (w *Writer) Close()

Close and finalize the filehash header

func (*Writer) Create

func (w *Writer) Create(path string) error

Create file and write a blank FileHash header

func (*Writer) Write

func (w *Writer) Write(p []byte) (int, error)

Writer supports io.Writer interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL