crypt_utils

package
v0.0.0-...-8122643 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const RSA_H256_SIGNATURE = "rsa_h256_signature"

Variables

This section is empty.

Functions

func AeadEncryptB64

func AeadEncryptB64(a *AEAD, plaintext []byte, additionalData ...[]byte) (string, error)

func Decrypt

func Decrypt(secret string, salt []byte, ciphertext []byte, additionalData ...[]byte) ([]byte, error)

func DecryptStrings

func DecryptStrings(secret string, salt string, ciphertext string, additionalStrings ...string) ([]byte, error)

func GenerateCryptoRand

func GenerateCryptoRand(size int) ([]byte, error)

func GenerateString

func GenerateString(length ...int) string

func H256

func H256(data []byte, extras ...string) []byte

func H256B64

func H256B64(data []byte, extras ...string) string

func H256Hex

func H256Hex(data []byte, extras ...string) string

func HashEqual

func HashEqual(hash1 string, hash2 string) bool

func Sign

func Sign(signer ESigner, data []byte, extraData ...string) (string, error)

func VerifySignature

func VerifySignature(verifier EVerifier, data []byte, signature string, extraData ...string) error

Types

type AEAD

type AEAD struct {
	Cipher cipher.AEAD
}

func NewAEAD

func NewAEAD(secret string, salt []byte, config ...AEADConfig) (*AEAD, error)

func (*AEAD) Decrypt

func (a *AEAD) Decrypt(ciphertext []byte, additionalData ...[]byte) ([]byte, error)

func (*AEAD) Encrypt

func (a *AEAD) Encrypt(plaintext []byte, additionalData ...[]byte) ([]byte, error)

type AEADConfig

type AEADConfig struct {
	MakeAead  MakeAeadFnc
	DeriveKey PbkdfFnc
	KeySize   int
}

func DefaultAEADConfig

func DefaultAEADConfig(pbkdfCfg Pbkdf2Config) AEADConfig

type DigestBuilder

type DigestBuilder = func() hash.Hash

type ESigner

type ESigner interface {
	utils.WithStringCoder
	Sign(data []byte, extraData ...string) ([]byte, error)
	SignB64(data []byte, extraData ...string) (string, error)
}

type EVerifier

type EVerifier interface {
	utils.WithStringCoder
	Verify(data []byte, signature []byte, extraData ...string) error
	LoadKey(data []byte) (err error)
	LoadKeyFromFile(filePath string) error
}

type Hash

type Hash struct {
	Hash         hash.Hash
	StringCoding utils.StringCoding
}

func NewHash

func NewHash(digestBuilder ...DigestBuilder) *Hash

func (*Hash) Add

func (h *Hash) Add(data []byte)

func (*Hash) Calc

func (h *Hash) Calc(data ...[]byte) []byte

func (*Hash) CalcStr

func (h *Hash) CalcStr(data ...[]byte) string

func (*Hash) CalcStrIn

func (h *Hash) CalcStrIn(data ...string)

func (*Hash) CalcStrStr

func (h *Hash) CalcStrStr(data ...string) string

func (*Hash) Check

func (h *Hash) Check(sum []byte) bool

func (*Hash) CheckStr

func (h *Hash) CheckStr(sum string) error

func (*Hash) Sum

func (h *Hash) Sum() []byte

type Hmac

type Hmac struct {
	Hash         hash.Hash
	StringCoding utils.StringCoding
}

func NewHmac

func NewHmac(secret string, digestBuilder ...DigestBuilder) *Hmac

func NewHmacCoding

func NewHmacCoding(secret string, val utils.StringCoding, digestBuilder ...DigestBuilder) *Hmac

func (*Hmac) Calc

func (h *Hmac) Calc(data ...[]byte) []byte

func (*Hmac) CalcStr

func (h *Hmac) CalcStr(data []byte) string

func (*Hmac) CalcStrStr

func (h *Hmac) CalcStrStr(data string) string

func (*Hmac) CalcStrings

func (h *Hmac) CalcStrings(data ...string) []byte

func (*Hmac) CalcStringsStr

func (h *Hmac) CalcStringsStr(data ...string) string

func (*Hmac) Check

func (h *Hmac) Check(sum []byte) bool

func (*Hmac) CheckStr

func (h *Hmac) CheckStr(sum string) error

func (*Hmac) Sum

func (h *Hmac) Sum() []byte

func (*Hmac) SumStr

func (h *Hmac) SumStr() string

type MakeAeadFnc

type MakeAeadFnc = func(key []byte) (cipher.AEAD, error)

type Pbkdf2Config

type Pbkdf2Config struct {
	Iter        int
	HashBuilder DigestBuilder
}

func DefaultPbkdfConfig

func DefaultPbkdfConfig() Pbkdf2Config

type PbkdfConfig

type PbkdfConfig struct {
	Iter        int
	HashBuilder func() DigestBuilder
}

type PbkdfFnc

type PbkdfFnc = func(password []byte, salt []byte, keySize int) []byte

type RsaSigner

type RsaSigner struct {
	utils.WithStringCoderBase
	// contains filtered or unexported fields
}

func NewRsaSigner

func NewRsaSigner(encoder ...utils.StringCoding) *RsaSigner

func (*RsaSigner) Key

func (r *RsaSigner) Key() *rsa.PrivateKey

func (*RsaSigner) LoadKey

func (r *RsaSigner) LoadKey(data []byte, password string) (err error)

func (*RsaSigner) LoadKeyFromFile

func (r *RsaSigner) LoadKeyFromFile(filePath string, password string) error

func (*RsaSigner) Sign

func (r *RsaSigner) Sign(data []byte, extraData ...string) ([]byte, error)

func (*RsaSigner) SignB64

func (r *RsaSigner) SignB64(data []byte, extraData ...string) (string, error)

type RsaVerifier

type RsaVerifier struct {
	utils.WithStringCoderBase
	// contains filtered or unexported fields
}

func NewRsaVerifier

func NewRsaVerifier(encoder ...utils.StringCoding) *RsaVerifier

func (*RsaVerifier) LoadKey

func (r *RsaVerifier) LoadKey(data []byte) (err error)

func (*RsaVerifier) LoadKeyFromFile

func (r *RsaVerifier) LoadKeyFromFile(filePath string) error

func (*RsaVerifier) Verify

func (r *RsaVerifier) Verify(data []byte, signature []byte, extraData ...string) error

Jump to

Keyboard shortcuts

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