mirror of
https://github.com/PretendoNetwork/nex-go.git
synced 2025-04-02 11:02:14 -04:00
44 lines
827 B
Go
44 lines
827 B
Go
package encryption
|
|
|
|
// Dummy does no encryption. Payloads are returned as-is
|
|
type Dummy struct {
|
|
key []byte
|
|
}
|
|
|
|
// Key returns the crypto key
|
|
func (d *Dummy) Key() []byte {
|
|
return d.key
|
|
}
|
|
|
|
// SetKey sets the crypto key
|
|
func (d *Dummy) SetKey(key []byte) error {
|
|
d.key = key
|
|
|
|
return nil
|
|
}
|
|
|
|
// Encrypt does nothing
|
|
func (d *Dummy) Encrypt(payload []byte) ([]byte, error) {
|
|
return payload, nil
|
|
}
|
|
|
|
// Decrypt does nothing
|
|
func (d *Dummy) Decrypt(payload []byte) ([]byte, error) {
|
|
return payload, nil
|
|
}
|
|
|
|
// Copy returns a copy of the algorithm while retaining it's state
|
|
func (d *Dummy) Copy() Algorithm {
|
|
copied := NewDummyEncryption()
|
|
|
|
copied.key = d.key
|
|
|
|
return copied
|
|
}
|
|
|
|
// NewDummyEncryption returns a new instance of the Dummy encryption
|
|
func NewDummyEncryption() *Dummy {
|
|
return &Dummy{
|
|
key: make([]byte, 0),
|
|
}
|
|
}
|