encryption

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package encryption provides encryption support for store.Marshaler.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cipher

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

Cipher provides encryption and decryption.

func NewCipher

func NewCipher(provider KeyProvider) *Cipher

NewCipher creates new Cipher.

func (*Cipher) Decrypt

func (c *Cipher) Decrypt(b []byte) ([]byte, error)

Decrypt decrypts data.

func (*Cipher) Encrypt

func (c *Cipher) Encrypt(b []byte) ([]byte, error)

Encrypt encrypts data.

type KeyProvider

type KeyProvider interface {
	ProvideKey() ([]byte, error)
}

KeyProvider provides the encryption key.

type KeyProviderFunc

type KeyProviderFunc func() ([]byte, error)

KeyProviderFunc is a function that provides the encryption key.

func (KeyProviderFunc) ProvideKey

func (f KeyProviderFunc) ProvideKey() ([]byte, error)

ProvideKey implements KeyProvider interface.

type Marshaler

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

Marshaler encrypts and decrypts data from the underlying marshaler.

func NewMarshaler

func NewMarshaler(m store.Marshaler, c *Cipher) *Marshaler

NewMarshaler creates new Marshaler.

func (*Marshaler) MarshalResource

func (m *Marshaler) MarshalResource(r resource.Resource) ([]byte, error)

MarshalResource implements Marshaler interface.

func (*Marshaler) UnmarshalResource

func (m *Marshaler) UnmarshalResource(b []byte) (resource.Resource, error)

UnmarshalResource implements Marshaler interface.

Jump to

Keyboard shortcuts

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