package algo import "errors" var ( ErrInvalidSignature = errors.New("signature is not valid") ) // KeyType название криптографического алгоритма type KeyType string // AlgorithmType название алгоритма хеширования type AlgorithmType string type Algorithm interface { Sign(payload []byte) ([]byte, error) // Sign подписывает данные Verify(payload, signature []byte) error // Verify проверяет подпись Key() KeyType // Key возвращает название криптографического алгоритма Algo() AlgorithmType // Algo возвращает название алгоритма хеширования }