84477401f3
some other updates
29 lines
709 B
Go
29 lines
709 B
Go
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
|
|
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
|
|
}
|
|
|
|
type CMCrypt struct {
|
|
}
|
|
|
|
type GMCrypt struct {
|
|
}
|