Documentation ¶
Overview ¶
cipher package is a helper package for encrypting and decrypting messages
Index ¶
- Constants
- func GeneratePrivateKey(size int) *rsa.PrivateKey
- func GetHash(hashType string) crypto.Hash
- func GetPrivateKey(loader KeyLoader) (*rsa.PrivateKey, error)
- func GetPublicKey(loader KeyLoader) (*rsa.PublicKey, error)
- func Sub(v *viper.Viper) *viper.Viper
- type BasicHashLoader
- type BasicLoader
- type BoxLoader
- type BytesLoader
- type Decrypt
- type DecryptLoader
- type Encrypt
- type EncryptLoader
- type FileLoader
- type HashLoader
- type KeyLoader
- type LocalCerts
- type NOOP
- type Options
Constants ¶
View Source
const ( // CipherKey is the Viper subkey under which logging should be stored. // NewOptions *does not* assume this key. CipherKey = "cipher" )
Variables ¶
This section is empty.
Functions ¶
func GeneratePrivateKey ¶
func GeneratePrivateKey(size int) *rsa.PrivateKey
GeneratePrivateKey will create a private key with the size given size must be greater than 64 or else it will default to 64.
Careful with the size, if its too large it won't encrypt the message or take forever
func GetPrivateKey ¶ added in v0.3.2
func GetPrivateKey(loader KeyLoader) (*rsa.PrivateKey, error)
Types ¶
type BasicHashLoader ¶ added in v0.3.0
type BasicHashLoader struct {
HashName string `mapstructure:"hash"`
}
type BasicLoader ¶ added in v0.3.2
type BasicLoader struct { Hash HashLoader PrivateKey KeyLoader PublicKey KeyLoader }
func (*BasicLoader) LoadDecrypt ¶ added in v0.3.2
func (loader *BasicLoader) LoadDecrypt() (Decrypt, error)
func (*BasicLoader) LoadEncrypt ¶ added in v0.3.2
func (loader *BasicLoader) LoadEncrypt() (Encrypt, error)
type BoxLoader ¶ added in v0.3.2
func (*BoxLoader) LoadDecrypt ¶ added in v0.3.2
func (*BoxLoader) LoadEncrypt ¶ added in v0.3.2
type BytesLoader ¶ added in v0.3.3
type BytesLoader struct {
Data []byte
}
func (*BytesLoader) GetBytes ¶ added in v0.3.3
func (b *BytesLoader) GetBytes() ([]byte, error)
type Decrypt ¶ added in v0.3.0
type Decrypt interface { // DecryptMessage attempts to decode the message into a string. // and error will be returned if failed to decode the message. DecryptMessage(cipher []byte, nonce []byte) (message []byte, err error) }
Decrypt represents the ability to decrypt messages
func DefaultCipherDecrypter ¶ added in v0.3.2
func DefaultCipherDecrypter() Decrypt
func NewBasicDecrypter ¶ added in v0.3.2
func NewBoxDecrypter ¶ added in v0.3.2
type DecryptLoader ¶ added in v0.3.2
type Encrypt ¶ added in v0.3.2
type Encrypt interface { // EncryptMessage attempts to encode the message into an array of bytes. // and error will be returned if failed to encode the message. EncryptMessage(message []byte) (crypt []byte, nonce []byte, err error) }
Encrypt represents the ability to encrypt messages
func DefaultCipherEncrypter ¶ added in v0.3.2
func DefaultCipherEncrypter() Encrypt
func NewBasicEncrypter ¶ added in v0.3.2
func NewBoxEncrypter ¶ added in v0.3.2
type EncryptLoader ¶ added in v0.3.2
type FileLoader ¶ added in v0.3.0
type FileLoader struct {
Path string
}
func (*FileLoader) GetBytes ¶ added in v0.3.0
func (f *FileLoader) GetBytes() ([]byte, error)
type HashLoader ¶ added in v0.3.0
type LocalCerts ¶ added in v0.3.0
type Options ¶ added in v0.3.2
type Options struct { // Logger is the go-kit Logger to use for server startup and error logging. If not // supplied, logging.DefaultLogger() is used instead. Logger log.Logger `json:"-"` Algorithm map[string]interface{} `json:"algorithm,omitempty"` SenderPrivateKey string `json:"senderPrivateKey,omitempty"` SenderPublicKey string `json:"senderPublicKey,omitempty"` RecipientPrivateKey string `json:"recipientPrivateKey,omitempty"` RecipientPublicKey string `json:"recipientPublicKey,omitempty"` }
func FromViper ¶ added in v0.3.2
FromViper produces an Options from a (possibly nil) Viper instance. Callers should use FromViper(Sub(v)) if the standard subkey is desired.
func (*Options) LoadDecrypt ¶ added in v0.3.2
func (*Options) LoadEncrypt ¶ added in v0.3.2
Click to show internal directories.
Click to hide internal directories.