crypto

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package crypto provides comprehensive cryptographic operations including symmetric encryption, asymmetric encryption, digital signatures, and key management. It supports multiple algorithms such as AES, DES, 3DES, Blowfish, Twofish, ChaCha20, Salsa20, RC4, RSA, and Ed25519.

Index

Constants

This section is empty.

Variables

View Source
var BufferSize = 4096

BufferSize buffer size for streaming (64KB is a good balance)

Functions

This section is empty.

Types

type Decrypter

type Decrypter struct {
	Error error
	// contains filtered or unexported fields
}

Decrypter defines a Decrypter struct.

func NewDecrypter

func NewDecrypter() Decrypter

NewDecrypter returns a new Decrypter instance.

func (Decrypter) By3Des

By3Des decrypts by triple des.

func (Decrypter) ByAes

func (d Decrypter) ByAes(c *cipher.AesCipher) Decrypter

ByAes decrypts by aes.

func (Decrypter) ByBlowfish

func (d Decrypter) ByBlowfish(c *cipher.BlowfishCipher) Decrypter

ByBlowfish decrypts by blowfish.

func (Decrypter) ByChaCha20 added in v1.1.2

func (d Decrypter) ByChaCha20(c *cipher.ChaCha20Cipher) Decrypter

ByChaCha20 decrypts by chacha20.

func (Decrypter) ByChaCha20Poly1305 added in v1.1.2

func (d Decrypter) ByChaCha20Poly1305(c *cipher.ChaCha20Poly1305Cipher) Decrypter

ByChaCha20Poly1305 decrypts by chacha20-poly1305.

func (Decrypter) ByDes

func (d Decrypter) ByDes(c *cipher.DesCipher) Decrypter

ByDes decrypts by des.

func (Decrypter) ByRc4

func (d Decrypter) ByRc4(c *cipher.Rc4Cipher) Decrypter

ByRc4 decrypts by rc4.

func (Decrypter) ByRsa

func (d Decrypter) ByRsa(kp *keypair.RsaKeyPair) Decrypter

ByRsa decrypts by rsa.

func (Decrypter) BySalsa20 added in v1.1.4

func (d Decrypter) BySalsa20(c *cipher.Salsa20Cipher) Decrypter

BySalsa20 decrypts by salsa20.

func (Decrypter) BySm2 added in v1.2.0

func (d Decrypter) BySm2(kp *keypair.Sm2KeyPair) Decrypter

BySm2 decrypts by SM2.

func (Decrypter) BySm4 added in v1.1.7

func (d Decrypter) BySm4(c *cipher.Sm4Cipher) Decrypter

BySm4 decrypts by sm4.

func (Decrypter) ByTea

func (d Decrypter) ByTea(c *cipher.TeaCipher) Decrypter

ByTea decrypts by tea.

func (Decrypter) ByTwofish added in v1.1.4

func (d Decrypter) ByTwofish(c *cipher.TwofishCipher) Decrypter

ByTwofish decrypts by twofish.

func (Decrypter) ByXtea added in v1.1.6

func (d Decrypter) ByXtea(c *cipher.XteaCipher) Decrypter

ByXtea decrypts by xtea.

func (Decrypter) FromBase64Bytes

func (d Decrypter) FromBase64Bytes(b []byte) Decrypter

FromBase64Bytes decrypts from base64 bytes.

func (Decrypter) FromBase64File

func (d Decrypter) FromBase64File(f fs.File) Decrypter

FromBase64File decrypts from base64 file.

func (Decrypter) FromBase64String

func (d Decrypter) FromBase64String(s string) Decrypter

FromBase64String decrypts from base64 string.

func (Decrypter) FromHexBytes

func (d Decrypter) FromHexBytes(b []byte) Decrypter

FromHexBytes decrypts from hex bytes.

func (Decrypter) FromHexFile

func (d Decrypter) FromHexFile(f fs.File) Decrypter

FromHexFile decrypts from hex file.

func (Decrypter) FromHexString

func (d Decrypter) FromHexString(s string) Decrypter

FromHexString decrypts from hex string.

func (Decrypter) FromRawBytes

func (d Decrypter) FromRawBytes(b []byte) Decrypter

FromRawBytes decrypts from raw bytes.

func (Decrypter) FromRawFile

func (d Decrypter) FromRawFile(f fs.File) Decrypter

FromRawFile decrypts from raw file.

func (Decrypter) FromRawString

func (d Decrypter) FromRawString(s string) Decrypter

FromRawString decrypts from raw string.

func (Decrypter) ToBytes

func (d Decrypter) ToBytes() []byte

ToBytes outputs as byte slice.

func (Decrypter) ToString

func (d Decrypter) ToString() string

ToString outputs as string.

type Encrypter

type Encrypter struct {
	Error error
	// contains filtered or unexported fields
}

Encrypter defines a Encrypter struct.

func NewEncrypter

func NewEncrypter() Encrypter

NewEncrypter returns a new Encrypter instance.

func (Encrypter) By3Des

By3Des encrypts by triple des.

func (Encrypter) ByAes

func (e Encrypter) ByAes(c *cipher.AesCipher) Encrypter

ByAes encrypts by aes.

func (Encrypter) ByBlowfish

func (e Encrypter) ByBlowfish(c *cipher.BlowfishCipher) Encrypter

ByBlowfish encrypts by blowfish.

func (Encrypter) ByChaCha20 added in v1.1.2

func (e Encrypter) ByChaCha20(c *cipher.ChaCha20Cipher) Encrypter

ByChaCha20 encrypts by chacha20.

func (Encrypter) ByChaCha20Poly1305 added in v1.1.2

func (e Encrypter) ByChaCha20Poly1305(c *cipher.ChaCha20Poly1305Cipher) Encrypter

ByChaCha20Poly1305 encrypts by chacha20-poly1305.

func (Encrypter) ByDes

func (e Encrypter) ByDes(c *cipher.DesCipher) Encrypter

ByDes encrypts by des.

func (Encrypter) ByRc4

func (e Encrypter) ByRc4(c *cipher.Rc4Cipher) Encrypter

ByRc4 encrypts by rc4.

func (Encrypter) ByRsa

func (e Encrypter) ByRsa(kp *keypair.RsaKeyPair) Encrypter

ByRsa encrypts by rsa.

func (Encrypter) BySalsa20 added in v1.1.4

func (e Encrypter) BySalsa20(c *cipher.Salsa20Cipher) Encrypter

BySalsa20 encrypts by salsa20.

func (Encrypter) BySm2 added in v1.2.0

func (e Encrypter) BySm2(kp *keypair.Sm2KeyPair) Encrypter

BySm2 encrypts by SM2.

func (Encrypter) BySm4 added in v1.1.7

func (e Encrypter) BySm4(c *cipher.Sm4Cipher) Encrypter

BySm4 encrypts by sm4.

func (Encrypter) ByTea

func (e Encrypter) ByTea(c *cipher.TeaCipher) Encrypter

ByTea encrypts by tea.

func (Encrypter) ByTwofish added in v1.1.4

func (e Encrypter) ByTwofish(c *cipher.TwofishCipher) Encrypter

ByTwofish encrypts by twofish.

func (Encrypter) ByXtea added in v1.1.6

func (e Encrypter) ByXtea(c *cipher.XteaCipher) Encrypter

ByXtea encrypts by xtea.

func (Encrypter) FromBytes

func (e Encrypter) FromBytes(b []byte) Encrypter

FromBytes encrypts from byte slice.

func (Encrypter) FromFile

func (e Encrypter) FromFile(f fs.File) Encrypter

FromFile encrypts from file.

func (Encrypter) FromString

func (e Encrypter) FromString(s string) Encrypter

FromString encrypts from string.

func (Encrypter) ToBase64Bytes

func (e Encrypter) ToBase64Bytes() []byte

ToBase64Bytes outputs as base64 byte slice.

func (Encrypter) ToBase64String

func (e Encrypter) ToBase64String() string

ToBase64String outputs as base64 string.

func (Encrypter) ToHexBytes

func (e Encrypter) ToHexBytes() []byte

ToHexBytes outputs as hex byte slice.

func (Encrypter) ToHexString

func (e Encrypter) ToHexString() string

ToHexString outputs as hex string.

func (Encrypter) ToRawBytes

func (e Encrypter) ToRawBytes() []byte

ToRawBytes outputs as raw byte slice.

func (Encrypter) ToRawString

func (e Encrypter) ToRawString() string

ToRawString outputs as raw string.

type Signer

type Signer struct {
	Error error
	// contains filtered or unexported fields
}

Signer defines a Signer struct.

func NewSigner

func NewSigner() Signer

NewSigner returns a new Signer instance.

func (Signer) ByEd25519 added in v1.1.1

func (s Signer) ByEd25519(kp *keypair.Ed25519KeyPair) Signer

ByEd25519 signs by ed25519.

func (Signer) ByRsa

func (s Signer) ByRsa(kp *keypair.RsaKeyPair) Signer

ByRsa signs by rsa.

func (Signer) BySm2 added in v1.2.2

func (s Signer) BySm2(kp *keypair.Sm2KeyPair) Signer

BySm2 signs by SM2.

func (Signer) FromBytes

func (s Signer) FromBytes(b []byte) Signer

FromBytes signs from byte slice.

func (Signer) FromFile

func (s Signer) FromFile(f fs.File) Signer

FromFile signs from file.

func (Signer) FromString

func (s Signer) FromString(str string) Signer

FromString signs from string.

func (Signer) ToBase64Bytes

func (s Signer) ToBase64Bytes() []byte

ToBase64Bytes outputs as base64 byte slice.

func (Signer) ToBase64String

func (s Signer) ToBase64String() string

ToBase64String outputs as base64 string.

func (Signer) ToHexBytes

func (s Signer) ToHexBytes() []byte

ToHexBytes outputs as hex byte slice.

func (Signer) ToHexString

func (s Signer) ToHexString() string

ToHexString outputs as hex string.

func (Signer) ToRawBytes

func (s Signer) ToRawBytes() []byte

ToRawBytes outputs as raw byte slice.

func (Signer) ToRawString

func (s Signer) ToRawString() string

ToRawString outputs as raw string.

type Verifier

type Verifier struct {
	Error error
	// contains filtered or unexported fields
}

Verifier defines a Verifier struct.

func NewVerifier

func NewVerifier() Verifier

NewVerifier returns a new Verifier instance.

func (Verifier) ByEd25519 added in v1.1.1

func (v Verifier) ByEd25519(kp *keypair.Ed25519KeyPair) Verifier

ByEd25519 verifies by ed25519.

func (Verifier) ByRsa

func (v Verifier) ByRsa(kp *keypair.RsaKeyPair) Verifier

ByRsa verifies by rsa.

func (Verifier) BySm2 added in v1.2.2

func (v Verifier) BySm2(kp *keypair.Sm2KeyPair) Verifier

BySm2 verifies by SM2.

func (Verifier) FromBytes

func (v Verifier) FromBytes(b []byte) Verifier

FromBytes verifies from byte slice.

func (Verifier) FromFile added in v1.1.1

func (v Verifier) FromFile(f fs.File) Verifier

FromFile verifies from file.

func (Verifier) FromString

func (v Verifier) FromString(s string) Verifier

FromString verifies from string.

func (Verifier) ToBool

func (v Verifier) ToBool() bool

ToBool returns true if verification is successful.

func (Verifier) WithBase64Sign added in v1.1.2

func (v Verifier) WithBase64Sign(s []byte) Verifier

WithBase64Sign verifies with base64 sign.

func (Verifier) WithHexSign added in v1.1.2

func (v Verifier) WithHexSign(s []byte) Verifier

WithHexSign verifies with hex sign.

func (Verifier) WithRawSign added in v1.1.2

func (v Verifier) WithRawSign(s []byte) Verifier

WithRawSign verifies with raw sign.

Source Files

  • 3des.go
  • aes.go
  • blowfish.go
  • chacha20.go
  • chacha20poly1305.go
  • crypto.go
  • decrypter.go
  • des.go
  • ed25519.go
  • encryper.go
  • rc4.go
  • rsa.go
  • salsa20.go
  • signer.go
  • sm2.go
  • sm4.go
  • tea.go
  • twofish.go
  • verifier.go
  • xtea.go

Directories

Path Synopsis
Package triple_des implements Triple DES encryption and decryption with streaming support.
Package triple_des implements Triple DES encryption and decryption with streaming support.
Package aes implements AES encryption and decryption with streaming support.
Package aes implements AES encryption and decryption with streaming support.
Package blowfish implements Blowfish encryption and decryption with streaming support.
Package blowfish implements Blowfish encryption and decryption with streaming support.
Package chacha20 implements ChaCha20 encryption and decryption with streaming support.
Package chacha20 implements ChaCha20 encryption and decryption with streaming support.
Package chacha20poly1305 implements ChaCha20-Poly1305 authenticated encryption and decryption with streaming support.
Package chacha20poly1305 implements ChaCha20-Poly1305 authenticated encryption and decryption with streaming support.
Package cipher provides cryptographic cipher configuration and base functionality.
Package cipher provides cryptographic cipher configuration and base functionality.
Package des implements DES encryption and decryption with streaming support.
Package des implements DES encryption and decryption with streaming support.
Package ed25519 implements ED25519 digital signature generation and verification with streaming support.
Package ed25519 implements ED25519 digital signature generation and verification with streaming support.
internal
sm2
sm4
Package keypair provides cryptographic key pair management for multiple algorithms.
Package keypair provides cryptographic key pair management for multiple algorithms.
Package rc4 implements RC4 encryption and decryption with streaming support
Package rc4 implements RC4 encryption and decryption with streaming support
Package rsa implements RSA encryption, decryption, signing, and verification with streaming support.
Package rsa implements RSA encryption, decryption, signing, and verification with streaming support.
Package salsa20 implements Salsa20 encryption and decryption with streaming support.
Package salsa20 implements Salsa20 encryption and decryption with streaming support.
Package sm2 implements SM2 public key encryption, decryption, signing and verification with optional streaming helpers.
Package sm2 implements SM2 public key encryption, decryption, signing and verification with optional streaming helpers.
Package sm4 implements SM4 encryption and decryption with streaming support.
Package sm4 implements SM4 encryption and decryption with streaming support.
Package tea implements TEA encryption and decryption with streaming support.
Package tea implements TEA encryption and decryption with streaming support.
Package twofish implements Twofish encryption and decryption with streaming support.
Package twofish implements Twofish encryption and decryption with streaming support.
Package xtea implements XTEA encryption and decryption with streaming support.
Package xtea implements XTEA encryption and decryption with streaming support.

Jump to

Keyboard shortcuts

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