plugins/crypto/crypt/Config.go

29 lines
709 B
Go
Raw Normal View History

2024-01-25 16:07:48 +08:00
package crypt
import "hash"
type Crypt interface {
Hash(data ...[]byte) []byte
NewHash() hash.Hash
Encrypt(data []byte, key []byte, iv []byte) (enData []byte, err error)
Decrypt(enData []byte, key []byte, iv []byte) (data []byte, err error)
MakeSyEnc(key []byte, iv []byte) *SyEnc
2024-01-25 16:07:48 +08:00
GenKey() (priKey []byte, pubKey []byte, err error)
Sign(data []byte, priKey []byte) (signature []byte, err error)
Verify(data []byte, signature []byte, pubKey []byte) bool
EncryptE(data []byte, pubKey []byte) (enData []byte, err error)
DecryptE(enData []byte, priKey []byte) (data []byte, err error)
}
type SyEnc struct {
crypt Crypt
key []byte
iv []byte
}
2024-01-25 16:07:48 +08:00
type CMCrypt struct {
}
type GMCrypt struct {
}