 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
- func NewBlock(se gtp.SymmetricEncryption, key []byte) (block cipher.Block, err error)
- func NewHash(h gtp.Hash) (hash.Hash, error)
- func NewHash32(h gtp.Hash) (hash.Hash32, error)
- func NewHash64(h gtp.Hash) (hash.Hash64, error)
- func NewNamedCurve(nc gtp.NamedCurve) (ecdh.Curve, error)
- type Cipher
- type CompressionStream
- type Padding
- type Signer
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var ( GzipCompressionLevel = gzip.DefaultCompression // gzip压缩级别 DeflateCompressionLevel = flate.DefaultCompression // deflate压缩级别 BrotliCompressionLevel = brotli.DefaultCompression // brotli压缩级别 LZ4CompressionLevel = lz4.Level4 // lz4压缩级别 )
      View Source
      
  
var (
	ErrInvalidMethod = errors.New("gtp: invalid method")
)
    Functions ¶
Types ¶
type Cipher ¶
type Cipher interface {
	// Transforming 变换数据
	Transforming(dst, src, nonce []byte) (int, error)
	// BlockSize block大小
	BlockSize() int
	// NonceSize nonce大小
	NonceSize() int
	// Overhead overhead大小
	Overhead() int
	// Pad 是否需要填充
	Pad() bool
	// Unpad 是否需要解除填充
	Unpad() bool
	// InputSize 输入大小
	InputSize(size int) int
	// OutputSize 输出大小
	OutputSize(size int) int
}
    Cipher 对称密码算法
func NewBlockCipherMode ¶
func NewBlockCipherMode(bcm gtp.BlockCipherMode, block cipher.Block, iv []byte) (encryptor, decrypter Cipher, err error)
NewBlockCipherMode 创建分组密码模式
func NewCipher ¶
func NewCipher(se gtp.SymmetricEncryption, bcm gtp.BlockCipherMode, key, iv []byte) (encryptor, decrypter Cipher, err error)
NewCipher 创建对称密码算法
type CompressionStream ¶
type CompressionStream interface {
	// WrapReader 包装解压缩流
	WrapReader(r io.Reader) (io.Reader, error)
	// WrapWriter 包装压缩流
	WrapWriter(w io.Writer) (io.WriteCloser, error)
}
    CompressionStream 压缩/解压缩流
func NewCompressionStream ¶
func NewCompressionStream(c gtp.Compression) (CompressionStream, error)
NewCompressionStream 创建压缩/解压缩流
type Padding ¶
type Padding interface {
	// Pad 填充
	Pad(buf []byte, ori int) error
	// Unpad 解除填充
	Unpad(padded []byte) ([]byte, error)
}
    Padding 填充方案
type Signer ¶
type Signer interface {
	// GenerateKey 生成私钥
	GenerateKey() (crypto.PrivateKey, error)
	// Sign 签名
	Sign(priv crypto.PrivateKey, data []byte) ([]byte, error)
	// Verify 验证签名
	Verify(pub crypto.PublicKey, data, sig []byte) error
}
    Signer 签名器
func NewSigner ¶
func NewSigner(ae gtp.AsymmetricEncryption, padding gtp.PaddingMode, hash gtp.Hash) (Signer, error)
NewSigner 创建签名器
 Click to show internal directories. 
   Click to hide internal directories.