cryptostream

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt added in v0.1.1

func Decrypt(c Cryptor, en []byte) ([]byte, error)

func Encrypt added in v0.1.1

func Encrypt(c Cryptor, en []byte) ([]byte, error)

func PKCS7Pad

func PKCS7Pad(data []byte, blockSize int) []byte

func PeekSid added in v0.1.1

func PeekSid(conn *Conn) (uint32, error)

func WrapReadWriteCloser added in v0.1.1

func WrapReadWriteCloser(r io.Reader, w io.Writer, closeFn func() error) io.ReadWriteCloser

Types

type AesCtrEncryptor

type AesCtrEncryptor struct {
	// contains filtered or unexported fields
}

AesCtrEncryptor struct holding key, iv, and separate streams for encryption and decryption

func NewAesCtrEncryptor

func NewAesCtrEncryptor(key [32]byte, iv [16]byte) (*AesCtrEncryptor, error)

NewAesCtrEncryptor creates a new instance of AesCtrEncryptor

func (*AesCtrEncryptor) Decrypt

func (e *AesCtrEncryptor) Decrypt(reader io.Reader, writer io.Writer) error

Decrypt decrypts data using AES-256-CTR mode

func (*AesCtrEncryptor) Encrypt

func (e *AesCtrEncryptor) Encrypt(reader io.Reader, writer io.Writer) error

Encrypt encrypts data using AES-256-CTR mode

func (*AesCtrEncryptor) Reset

func (e *AesCtrEncryptor) Reset() error

Reset reinitializes the encrypt and decrypt streams

type Conn added in v0.1.1

type Conn struct {
	io.ReadWriteCloser

	Parser *parser.MessageParser
	// contains filtered or unexported fields
}

func WrapPeekConn added in v0.1.1

func WrapPeekConn(conn io.ReadWriteCloser, cryptos []Cryptor, parserName string) (*Conn, error)

func (*Conn) LocalAddr added in v0.1.1

func (pc *Conn) LocalAddr() net.Addr

func (*Conn) Peek added in v0.1.1

func (pc *Conn) Peek(n int) ([]byte, error)

func (*Conn) Read added in v0.1.1

func (pc *Conn) Read(b []byte) (int, error)

func (*Conn) RemoteAddr added in v0.1.1

func (pc *Conn) RemoteAddr() net.Addr

func (*Conn) SetDeadline added in v0.1.1

func (pc *Conn) SetDeadline(t time.Time) error

func (*Conn) SetReadDeadline added in v0.1.1

func (pc *Conn) SetReadDeadline(t time.Time) error

func (*Conn) SetWriteDeadline added in v0.1.1

func (pc *Conn) SetWriteDeadline(t time.Time) error

func (*Conn) Write added in v0.1.1

func (pc *Conn) Write(b []byte) (int, error)

Other methods to satisfy the net.Conn interface

type CryptoConn

type CryptoConn struct {
	net.Conn
	io.ReadWriteCloser
	Cryptor
}

func NewCryptoConn

func NewCryptoConn(conn net.Conn, cryptor Cryptor) *CryptoConn

func NewCryptoRWC added in v0.1.0

func NewCryptoRWC(rwc io.ReadWriteCloser, cryptor Cryptor) *CryptoConn

func (*CryptoConn) Close added in v0.1.0

func (sc *CryptoConn) Close() error

func (*CryptoConn) Read

func (sc *CryptoConn) Read(data []byte) (int, error)

Read 方法从底层连接读取数据并解密

func (*CryptoConn) RemoteAddr added in v0.1.0

func (sc *CryptoConn) RemoteAddr() net.Addr

func (*CryptoConn) Write

func (sc *CryptoConn) Write(data []byte) (int, error)

type Cryptor

type Cryptor interface {
	Encrypt(reader io.Reader, writer io.Writer) error
	Decrypt(reader io.Reader, writer io.Writer) error
	Reset() error
}

func NewCryptor

func NewCryptor(name string, key, secret []byte) (Cryptor, error)

type ReadWriteCloser added in v0.1.1

type ReadWriteCloser struct {
	// contains filtered or unexported fields
}

func (*ReadWriteCloser) Close added in v0.1.1

func (rwc *ReadWriteCloser) Close() error

func (*ReadWriteCloser) Read added in v0.1.1

func (rwc *ReadWriteCloser) Read(p []byte) (n int, err error)

func (*ReadWriteCloser) Write added in v0.1.1

func (rwc *ReadWriteCloser) Write(p []byte) (n int, err error)

type XorEncryptor

type XorEncryptor struct {
	// contains filtered or unexported fields
}

XorEncryptor struct holding key, iv, and separate counters for encryption and decryption

func NewXorEncryptor

func NewXorEncryptor(key []byte, iv []byte) *XorEncryptor

NewXorEncryptor creates a new instance of XorEncryptor

func (*XorEncryptor) Decrypt

func (e *XorEncryptor) Decrypt(reader io.Reader, writer io.Writer) error

Decrypt reads data from reader, applies XOR decryption, and writes it to writer

func (*XorEncryptor) Encrypt

func (e *XorEncryptor) Encrypt(reader io.Reader, writer io.Writer) error

Encrypt reads data from reader, applies XOR encryption, and writes it to writer

func (*XorEncryptor) Reset

func (e *XorEncryptor) Reset() error

Reset resets both the encryption and decryption counters

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL