21 lines
778 B
Go
21 lines
778 B
Go
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 возвращает название алгоритма хеширования
|
|
}
|