Documentation ¶
Overview ¶
Package database is a key-value database with integrated password encryption functions.
DATABASE INIT FORMAT Ak, Ck <- KDF(S, P) S || R || H[Ak](R) where H - hmac S - salt value R - random value P - password Ak - auth-key Ck - cipher-key DATABASE SET FORMAT {H[Ak](K) : (H[Ak](EV) || EV)} where EV = E[Ck](V) where E - encrypt H - hmac K - database key V - database value Ak - auth-key Ck - cipher-key
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrOpenDB = &SDatabaseError{"open database"} ErrGetSalt = &SDatabaseError{"get salt value"} ErrReadSalt = &SDatabaseError{"read salt value"} ErrReadRand = &SDatabaseError{"read rand"} ErrGetHashRand = &SDatabaseError{"get hash rand"} ErrReadHashRand = &SDatabaseError{"read hash rand"} ErrPushSalt = &SDatabaseError{"push salt value"} ErrPushRand = &SDatabaseError{"push rand value"} ErrPushHashRand = &SDatabaseError{"push hash rand"} ErrInvalidHash = &SDatabaseError{"invalid hash"} ErrSetValueDB = &SDatabaseError{"set value to database"} ErrGetValueDB = &SDatabaseError{"get value from database"} ErrDelValueDB = &SDatabaseError{"del value from database"} ErrNotFound = &SDatabaseError{"value not found"} ErrCloseDB = &SDatabaseError{"close database"} ErrInvalidEncryptedSize = &SDatabaseError{"invalid encrypted size"} ErrInvalidDataHash = &SDatabaseError{"invalid data hash"} )
Functions ¶
This section is empty.
Types ¶
type IKVDatabase ¶ added in v1.5.10
type IKVDatabase interface { types.ICloser GetSettings() ISettings Set([]byte, []byte) error Get([]byte) ([]byte, error) Del([]byte) error }
func NewKVDatabase ¶ added in v1.5.23
func NewKVDatabase(pSett ISettings) (IKVDatabase, error)
type ISettings ¶
func NewSettings ¶
type SDatabaseError ¶ added in v1.6.18
type SDatabaseError struct {
// contains filtered or unexported fields
}
func (*SDatabaseError) Error ¶ added in v1.6.18
func (err *SDatabaseError) Error() string
Click to show internal directories.
Click to hide internal directories.