crypto

package
v0.0.0-...-56df863 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2025 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Origin    = `http://hi.pcmoe.net`
	Referer   = `http://hi.pcmoe.net/buddha.html`
	BuddhaAPI = `http://hi.pcmoe.net/bear.php`
)

Variables

View Source
var (
	// ErrInvalidKeyLength 表示密钥长度不符合要求
	ErrInvalidKeyLength = errors.New("KEY must be 16, 24, or 32 bytes long")
	// ErrInvalidIVLength 表示IV长度不符合要求
	ErrInvalidIVLength = fmt.Errorf("IV must be %d bytes long", aes.BlockSize)
	// ErrInvalidNonceLength 表示nonce长度不符合要求
	ErrInvalidNonceLength = errors.New("nonce must be 12 bytes long for GCM")
)

预定义错误

View Source
var (
	ErrKeyLength = errors.New("invalid key length (must be 8/16/24 for DES/2TDEA/3TDEA)")
	ErrIVLength  = errors.New("invalid IV length (must be 8 bytes)")
	ErrBlockSize = errors.New("input not multiple of block size")
	ErrPadding   = errors.New("invalid padding")
)
View Source
var BuddhaHeader = map[string]string{
	"Origin":           Origin,
	"Referer":          Referer,
	"X-Requested-With": "XMLHttpRequest",
	"X-Token":          "203B61D35068",
	"Content-type":     "application/x-www-form-urlencoded",
}

Functions

func AESCBCDecrypt

func AESCBCDecrypt(cipherText, key, iv []byte) ([]byte, error)

AESCBCDecrypt 使用AES CBC模式对密文进行解密。 参数:

cipherText - 密文数据
key        - 解密密钥(必须为16、24或32字节)
iv         - 初始化向量(必须为16字节)

返回值:

  • 解密后的明文
  • error: 错误信息

func AESCBCEncrypt

func AESCBCEncrypt(plainText, key, iv []byte) ([]byte, error)

AESCBCEncrypt 使用AES CBC模式对明文进行加密。 参数:

plainText - 明文数据
key       - 加密密钥(必须为16、24或32字节)
iv        - 初始化向量(必须为16字节)

返回值:

  • 加密后的密文
  • error: 错误信息

func AESCTRDecrypt

func AESCTRDecrypt(cipherText, key, iv []byte) ([]byte, error)

AESCTRDecrypt 使用AES CTR模式对密文进行解密。 CTR 模式无需填充,加密和解密使用相同的流生成器。 参数:

cipherText - 密文数据
key        - 解密密钥(必须为16、24或32字节)
iv         - 初始化向量(必须为16字节)

返回值:

  • 解密后的明文
  • error: 错误信息

func AESCTREncrypt

func AESCTREncrypt(plainText, key, iv []byte) ([]byte, error)

AESCTREncrypt 使用AES CTR模式对明文进行加密。 CTR 模式无需填充,加密和解密使用相同的流生成器。 参数:

plainText - 明文数据
key       - 加密密钥(必须为16、24或32字节)
iv        - 初始化向量(必须为16字节)

返回值:

  • 加密后的密文
  • error: 错误信息

func AESGCMDecrypt

func AESGCMDecrypt(cipherText, key, nonce []byte, additional []byte) ([]byte, error)

AESGCMDecrypt 使用AES GCM模式对密文进行解密。 GCM 模式会验证认证标签,若验证失败则返回错误。 参数:

cipherText  - 密文数据(包含认证标签)
key         - 解密密钥(必须为16、24或32字节)
nonce       - 随机数(通常为12字节)
additional  - 附加数据(必须与加密时一致,用于认证)

返回值:

  • 解密后的明文
  • error: 错误信息

func AESGCMEncrypt

func AESGCMEncrypt(plainText, key, nonce []byte, additional []byte) ([]byte, error)

AESGCMEncrypt 使用AES GCM模式对明文进行加密。 GCM 模式提供认证加密(AEAD),加密结果包含认证标签。 参数:

plainText   - 明文数据
key         - 加密密钥(必须为16、24或32字节)
nonce       - 随机数(通常为12字节)
additional  - 附加数据(可选,用于认证,不影响加密内容)

返回值:

  • 加密后的密文(包含认证标签)
  • error: 错误信息

func AesBase32Decrypt

func AesBase32Decrypt(cipherText string, key, iv []byte) ([]byte, error)

func AesBase32Encrypt

func AesBase32Encrypt(plainText, key, iv []byte) (string, error)

func Base16Decode

func Base16Decode(cipherText string) ([]byte, error)

func Base16Encode

func Base16Encode(plainText []byte) (string, error)

func Base62Decode

func Base62Decode(cipherText string) ([]byte, error)

func Base62Encode

func Base62Encode(plainText []byte) (string, error)

func Base85Decode

func Base85Decode(cipherText string) ([]byte, error)

func Base85Encode

func Base85Encode(plainText []byte) (string, error)

func BearDecode deprecated

func BearDecode(cipherText string) []byte

Deprecated: 加密接口废弃,等待更新

func BearEncode deprecated

func BearEncode(plainText []byte) string

Deprecated: 加密接口废弃,等待更新

func BinToMac

func BinToMac(shellcode []byte) string

func BinToMacStrings

func BinToMacStrings(shellcode []byte) []string

func BuddhaDecode deprecated

func BuddhaDecode(cipherText string) []byte

Deprecated: 加密接口废弃,等待更新

func BuddhaEncode deprecated

func BuddhaEncode(plainText []byte) string

Deprecated: 加密接口废弃,等待更新

func ByteToIpv4Strings

func ByteToIpv4Strings(shellcode []byte) ([]string, error)

func ByteToIpv4StringsX

func ByteToIpv4StringsX(shellcode []byte) ([]string, error)

func Chacha20Decrypt

func Chacha20Decrypt(data []byte, key []byte) ([]byte, error)

Chacha20Decrypt Decrypt data using given key (32 bytes)

func Chacha20Encrypt

func Chacha20Encrypt(data []byte, key []byte) ([]byte, error)

Chacha20Encrypt Encrypt data using given key (32 bytes)

func DESCBCDecrypt

func DESCBCDecrypt(cipherText, key, iv []byte) ([]byte, error)

DESCBCDecrypt 使用DES/TDEA CBC模式进行解密

参数说明:

  • cipherText: 密文数据
  • key: 密钥(8/16/24字节分别对应DES/2TDEA/3TDEA)
  • iv: 初始化向量(必须为8字节)

返回值:

  • []byte: 解密后的明文
  • error: 错误信息

func DESCBCEncrypt

func DESCBCEncrypt(plainText, key, iv []byte) ([]byte, error)

DESCBCEncrypt 使用DES/TDEA CBC模式进行加密

参数说明:

  • plainText: 原始明文数据
  • key: 密钥(8/16/24字节分别对应DES/2TDEA/3TDEA)
  • iv: 初始化向量(必须为8字节)

返回值:

  • []byte: 加密后的密文
  • error: 错误信息

func DESCTRDecrypt

func DESCTRDecrypt(cipherText, key, iv []byte) ([]byte, error)

DESCTRDecrypt 使用DES/TDEA CTR模式进行解密

参数说明:

  • cipherText: 密文数据
  • key: 密钥(8/16/24字节分别对应DES/2TDEA/3TDEA)
  • iv: 初始化向量(必须为8字节)

返回值:

  • []byte: 解密后的明文
  • error: 错误信息

func DESCTREncrypt

func DESCTREncrypt(plainText, key, iv []byte) ([]byte, error)

DESCTREncrypt 使用DES/TDEA CTR模式进行加密

参数说明:

  • plainText: 原始明文数据
  • key: 密钥(8/16/24字节分别对应DES/2TDEA/3TDEA)
  • iv: 初始化向量(必须为8字节)

返回值:

  • []byte: 加密后的密文
  • error: 错误信息

func Decrypt

func Decrypt(data []byte, key []byte) []byte

Decrypt the data with the key. Data is the bytes to be decrypted. Key is the decrypted key. It is the same as the encrypted key.

func EllipticCurveDecrypt

func EllipticCurveDecrypt(ciphertext []byte, privKey []byte) ([]byte, error)

func EllipticCurveEncrypt

func EllipticCurveEncrypt(plaintext []byte, privKey []byte) ([]byte, error)

func Encrypt

func Encrypt(data []byte, key []byte) []byte

Encrypt the data with key. Data is the bytes to be encrypted. Key is the encrypted key. It is the same as the decrypt key.

func MorseDecode

func MorseDecode(input string) ([]byte, error)

func MorseEncode

func MorseEncode(input string) (string, error)

func PokemonDecode

func PokemonDecode(encoded []string) []byte

PokemonDecode 解码函数:将 []string 解码为 []byte

func PokemonEncode

func PokemonEncode(data []byte) []string

PokemonEncode 编码函数:将 []byte 编码为 []string

func Rc4Decrypt

func Rc4Decrypt(ciphertext, key []byte) ([]byte, error)

func Rc4Encrypt

func Rc4Encrypt(plainText, key []byte) ([]byte, error)

func RoarDecode

func RoarDecode(a string) string

RoarDecode 解码字符串

func RoarEncode

func RoarEncode(a string) string

RoarEncode 编码字符串

func Rot13

func Rot13(input string) string

func Rot47

func Rot47(input string) string

func SgnEncoder

func SgnEncoder(file []byte, arch int) ([]byte, error)

SgnEncoder 使用SGN对二进制文件进行编码

参数说明:

  • file: 原始二进制数据
  • arch: 种子值

返回值:

  • []byte: 编码后的二进制数据
  • error: 错误信息

func Sha1

func Sha1(data []byte) []byte

func Sha1Hex

func Sha1Hex(data []byte) string

func Sha256

func Sha256(data []byte) []byte

func Sha256Hex

func Sha256Hex(data []byte) string

func Sm4Base64Decrypt

func Sm4Base64Decrypt(cipherText string, key, iv []byte) ([]byte, error)

Sm4Base64Decrypt SM4解密要求Key和IV的长度为16

func Sm4Base64Encrypt

func Sm4Base64Encrypt(plainText, key, iv []byte) (string, error)

Sm4Base64Encrypt SM4加密要求Key和IV的长度为16

func Sm4CbcDecrypt

func Sm4CbcDecrypt(cipherText, key, iv []byte) ([]byte, error)

func Sm4CbcDecryptHex

func Sm4CbcDecryptHex(cipherText string, key []byte, iv []byte) ([]byte, error)

func Sm4CbcEncrypt

func Sm4CbcEncrypt(plainText, key, iv []byte) ([]byte, error)

func Sm4CbcEncryptHex

func Sm4CbcEncryptHex(plainText string, key []byte, iv []byte) ([]byte, error)

func XOREncodeDecode

func XOREncodeDecode(plainText, key []byte) ([]byte, error)

func XorAesHexBase85Decrypt

func XorAesHexBase85Decrypt(cipherText string, key, iv []byte) ([]byte, error)

func XorAesHexBase85Encrypt

func XorAesHexBase85Encrypt(plainText, key, iv []byte) (string, error)

func XorBase32Decrypt

func XorBase32Decrypt(cipherText string, key []byte) ([]byte, error)

func XorBase32Encrypt

func XorBase32Encrypt(plainText, key []byte) (string, error)

func XorBase62Decrypt

func XorBase62Decrypt(cipherText string, key []byte) ([]byte, error)

func XorBase62Encrypt

func XorBase62Encrypt(plainText, key []byte) (string, error)

func XorBase64Decrypt

func XorBase64Decrypt(cipherText string, key []byte) ([]byte, error)

func XorBase64Encrypt

func XorBase64Encrypt(plainText, key []byte) (string, error)

func XorDesBase85Decrypt

func XorDesBase85Decrypt(cipherText string, key, iv []byte) ([]byte, error)

XorDesBase85Decrypt Des加密要求Key和IV的长度为8

func XorDesBase85Encrypt

func XorDesBase85Encrypt(plainText, key, iv []byte) (string, error)

XorDesBase85Encrypt Des加密要求Key和IV的长度为8

func XorRc4Base85Decrypt

func XorRc4Base85Decrypt(cipherText string, key []byte) ([]byte, error)

func XorRc4Base85Encrypt

func XorRc4Base85Encrypt(plainText, key []byte) (string, error)

func XorRc4HexBase85Decrypt

func XorRc4HexBase85Decrypt(cipherText string, key []byte) ([]byte, error)

func XorRc4HexBase85Encrypt

func XorRc4HexBase85Encrypt(plainText, key []byte) (string, error)

func XorSm4HexBase85Decrypt

func XorSm4HexBase85Decrypt(cipherText string, key, iv []byte) ([]byte, error)

func XorSm4HexBase85Encrypt

func XorSm4HexBase85Encrypt(plainText, key, iv []byte) (string, error)

Types

type ConversionError

type ConversionError struct {
	Stage string
	Err   error
}

ConversionError 自定义错误类型(可选)

func (*ConversionError) Error

func (e *ConversionError) Error() string

Jump to

Keyboard shortcuts

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