Documentation
¶
Index ¶
- Variables
- func BlockDecrypt(block cipher.Block, data []byte, opt IOption) ([]byte, error)
- func BlockEncrypt(block cipher.Block, data []byte, opt IOption) ([]byte, error)
- type Config
- type Cryptobin
- func (this Cryptobin) Aes() Cryptobin
- func (this Cryptobin) AppendError(err ...error) Cryptobin
- func (this Cryptobin) AppendTriggerError(err ...error) Cryptobin
- func (this Cryptobin) Aria() Cryptobin
- func (this Cryptobin) BC() Cryptobin
- func (this Cryptobin) Blowfish(salt ...string) Cryptobin
- func (this Cryptobin) CBC() Cryptobin
- func (this Cryptobin) CCM(additional ...[]byte) Cryptobin
- func (this Cryptobin) CCMWithNonceAndTagSize(nonceSize, tagSize int, additional ...[]byte) Cryptobin
- func (this Cryptobin) CCMWithNonceSize(nonceSize int, additional ...[]byte) Cryptobin
- func (this Cryptobin) CCMWithTagSize(tagSize int, additional ...[]byte) Cryptobin
- func (this Cryptobin) CFB() Cryptobin
- func (this Cryptobin) CFB1() Cryptobin
- func (this Cryptobin) CFB8() Cryptobin
- func (this Cryptobin) CFB128() Cryptobin
- func (this Cryptobin) CTR() Cryptobin
- func (this Cryptobin) Camellia() Cryptobin
- func (this Cryptobin) Cast5() Cryptobin
- func (this Cryptobin) Chacha20(counter ...uint32) Cryptobin
- func (this Cryptobin) Chacha20poly1305(additional ...[]byte) Cryptobin
- func (this Cryptobin) Chacha20poly1305X(additional ...[]byte) Cryptobin
- func (this Cryptobin) Decrypt() Cryptobin
- func (this Cryptobin) Des() Cryptobin
- func (this Cryptobin) ECB() Cryptobin
- func (this Cryptobin) Encrypt() Cryptobin
- func (this Cryptobin) Error() error
- func (this Cryptobin) FromBase64String(data string) Cryptobin
- func (this Cryptobin) FromBytes(data []byte) Cryptobin
- func (this Cryptobin) FromHexString(data string) Cryptobin
- func (this Cryptobin) FromString(data string) Cryptobin
- func (this Cryptobin) FuncDecrypt(fn func(Cryptobin) Cryptobin) Cryptobin
- func (this Cryptobin) FuncEncrypt(fn func(Cryptobin) Cryptobin) Cryptobin
- func (this Cryptobin) GCM(additional ...[]byte) Cryptobin
- func (this Cryptobin) GCMWithNonceSize(nonceSize int, additional ...[]byte) Cryptobin
- func (this Cryptobin) GCMWithTagSize(tagSize int, additional ...[]byte) Cryptobin
- func (this Cryptobin) GetConfig() *config.Config
- func (this Cryptobin) GetData() []byte
- func (this Cryptobin) GetErrors() []error
- func (this Cryptobin) GetIv() []byte
- func (this Cryptobin) GetKey() []byte
- func (this Cryptobin) GetMode() Mode
- func (this Cryptobin) GetMultiple() Multiple
- func (this Cryptobin) GetOneConfig(key string) any
- func (this Cryptobin) GetPadding() Padding
- func (this Cryptobin) GetParsedData() []byte
- func (this Cryptobin) Gost(sbox any) Cryptobin
- func (this Cryptobin) HCTR(tweak, hkey []byte) Cryptobin
- func (this Cryptobin) Hight() Cryptobin
- func (this Cryptobin) ISO7816_4Padding() Cryptobin
- func (this Cryptobin) ISO10126Padding() Cryptobin
- func (this Cryptobin) ISO97971Padding() Cryptobin
- func (this Cryptobin) Idea() Cryptobin
- func (this Cryptobin) Kasumi() Cryptobin
- func (this Cryptobin) Khazad() Cryptobin
- func (this Cryptobin) Kseed() Cryptobin
- func (this Cryptobin) Kuznyechik() Cryptobin
- func (this Cryptobin) Lea() Cryptobin
- func (this Cryptobin) Misty1() Cryptobin
- func (this Cryptobin) ModeBy(mode Mode, cfg ...map[string]any) Cryptobin
- func (this Cryptobin) Multi2(rounds int32) Cryptobin
- func (this Cryptobin) MultipleBy(multiple Multiple, cfg ...map[string]any) Cryptobin
- func (this Cryptobin) NoPadding() Cryptobin
- func (this Cryptobin) NoParse() Cryptobin
- func (this Cryptobin) OCFB(resync bool) Cryptobin
- func (this Cryptobin) OFB() Cryptobin
- func (this Cryptobin) OFB8() Cryptobin
- func (this Cryptobin) OnError(fn ErrorFunc) Cryptobin
- func (this Cryptobin) PBOC2Padding() Cryptobin
- func (this Cryptobin) PCBC() Cryptobin
- func (this Cryptobin) PKCS5Padding() Cryptobin
- func (this Cryptobin) PKCS7Padding() Cryptobin
- func (this Cryptobin) PaddingBy(padding Padding, cfg ...map[string]any) Cryptobin
- func (this Cryptobin) Present() Cryptobin
- func (this Cryptobin) PutConfig(key string, value any) Cryptobin
- func (this Cryptobin) RC2() Cryptobin
- func (this Cryptobin) RC4() Cryptobin
- func (this Cryptobin) RC4MD5() Cryptobin
- func (this Cryptobin) RC5(wordSize, rounds uint) Cryptobin
- func (this Cryptobin) RC6() Cryptobin
- func (this Cryptobin) Rijndael(blockSize int) Cryptobin
- func (this Cryptobin) Rijndael128() Cryptobin
- func (this Cryptobin) Rijndael192() Cryptobin
- func (this Cryptobin) Rijndael256() Cryptobin
- func (this Cryptobin) SM4() Cryptobin
- func (this Cryptobin) Safer(typ string, rounds int32) Cryptobin
- func (this Cryptobin) Saferplus() Cryptobin
- func (this Cryptobin) Seed() Cryptobin
- func (this Cryptobin) Serpent() Cryptobin
- func (this Cryptobin) SetConfig(data map[string]any) Cryptobin
- func (this Cryptobin) SetData(data string) Cryptobin
- func (this Cryptobin) SetIv(data string) Cryptobin
- func (this Cryptobin) SetKey(data string) Cryptobin
- func (this Cryptobin) SetMode(mode Mode, cfg map[string]any) Cryptobin
- func (this Cryptobin) SetMultiple(multiple Multiple, cfg map[string]any) Cryptobin
- func (this Cryptobin) SetPadding(padding Padding, cfg map[string]any) Cryptobin
- func (this Cryptobin) SetParsedData(data string) Cryptobin
- func (this Cryptobin) String() string
- func (this Cryptobin) TBCPadding() Cryptobin
- func (this Cryptobin) Tea(rounds ...int) Cryptobin
- func (this Cryptobin) ToBase64String() string
- func (this Cryptobin) ToBytes() []byte
- func (this Cryptobin) ToHexString() string
- func (this Cryptobin) ToString() string
- func (this Cryptobin) TriggerError() Cryptobin
- func (this Cryptobin) TripleDes() Cryptobin
- func (this Cryptobin) Trivium() Cryptobin
- func (this Cryptobin) Twine() Cryptobin
- func (this Cryptobin) TwoDes() Cryptobin
- func (this Cryptobin) Twofish() Cryptobin
- func (this Cryptobin) WithConfig(config *config.Config) Cryptobin
- func (this Cryptobin) WithData(data []byte) Cryptobin
- func (this Cryptobin) WithErrors(errs []error) Cryptobin
- func (this Cryptobin) WithIv(iv []byte) Cryptobin
- func (this Cryptobin) WithKey(key []byte) Cryptobin
- func (this Cryptobin) WithMode(mode Mode) Cryptobin
- func (this Cryptobin) WithMultiple(multiple Multiple) Cryptobin
- func (this Cryptobin) WithPadding(padding Padding) Cryptobin
- func (this Cryptobin) WithParsedData(data []byte) Cryptobin
- func (this Cryptobin) X923Padding() Cryptobin
- func (this Cryptobin) Xtea() Cryptobin
- func (this Cryptobin) Xts(cipher string, sectorNum uint64) Cryptobin
- func (this Cryptobin) ZeroPadding() Cryptobin
- type DataName
- type DataSet
- func (this *DataSet[N, M]) Add(name N, data func() M) *DataSet[N, M]
- func (this *DataSet[N, M]) All() map[N]func() M
- func (this *DataSet[N, M]) Clean()
- func (this *DataSet[N, M]) Get(name N) func() M
- func (this *DataSet[N, M]) Has(name N) bool
- func (this *DataSet[N, M]) Len() int
- func (this *DataSet[N, M]) Names() []N
- func (this *DataSet[N, M]) Remove(name N) *DataSet[N, M]
- type EncryptAes
- type EncryptAria
- type EncryptBlowfish
- type EncryptCamellia
- type EncryptCast5
- type EncryptChacha20
- type EncryptChacha20poly1305
- type EncryptChacha20poly1305X
- type EncryptDes
- type EncryptGost
- type EncryptHight
- type EncryptIdea
- type EncryptKasumi
- type EncryptKhazad
- type EncryptKseed
- type EncryptKuznyechik
- type EncryptLea
- type EncryptMisty1
- type EncryptMulti2
- type EncryptPresent
- type EncryptRC2
- type EncryptRC4
- type EncryptRC4MD5
- type EncryptRC5
- type EncryptRC6
- type EncryptRijndael
- type EncryptRijndael128
- type EncryptRijndael192
- type EncryptRijndael256
- type EncryptSM4
- type EncryptSafer
- type EncryptSaferplus
- type EncryptSeed
- type EncryptSerpent
- type EncryptTea
- type EncryptTripleDes
- type EncryptTrivium
- type EncryptTwine
- type EncryptTwoDes
- type EncryptTwofish
- type EncryptXtea
- type EncryptXts
- type ErrorFunc
- type IEncrypt
- type IMode
- type IOption
- type IPadding
- type ISO7816_4Paddinger
- type ISO10126Paddinger
- type ISO97971Paddinger
- type Mode
- type ModeBC
- type ModeCBC
- type ModeCCM
- type ModeCFB
- type ModeCFB1
- type ModeCFB8
- type ModeCTR
- type ModeECB
- type ModeGCM
- type ModeHCTR
- type ModeOCFB
- type ModeOFB
- type ModeOFB8
- type ModePCBC
- type Multiple
- type NoPaddinger
- type PBOC2Paddinger
- type PKCS5Paddinger
- type PKCS7Paddinger
- type Padding
- type TBCPaddinger
- type TypeName
- type TypeSet
- type X923Paddinger
- type ZeroPaddinger
Constants ¶
This section is empty.
Variables ¶
var TypeMode = NewTypeSet[Mode, string](maxMode)
模式 Type Mode
var TypeMultiple = NewTypeSet[Multiple, string](maxMultiple)
类型 Type Multiple
var TypePadding = NewTypeSet[Padding, string](maxPadding)
补码 Type Padding
var UseEncrypt = NewDataSet[Multiple, IEncrypt]()
加密类型 Encrypt Type
var UseMode = NewDataSet[Mode, IMode]()
模式 Encrypt Mode
var UsePadding = NewDataSet[Padding, IPadding]()
补码 Encrypt Padding
Functions ¶
func BlockDecrypt ¶
块解密 Block Decrypt
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
*
- 配置 / Config *
- @create 2023-3-30
- @author deatil
type Cryptobin ¶
type Cryptobin struct {
// 错误 / error list
Errors []error
// contains filtered or unexported fields
}
*
- Cryptobin *
- @create 2022-3-19
- @author deatil
func (Cryptobin) AppendError ¶
添加错误 Append Error
func (Cryptobin) AppendTriggerError ¶
Append Trigger Error
func (Cryptobin) CCMWithNonceAndTagSize ¶
func (this Cryptobin) CCMWithNonceAndTagSize(nonceSize, tagSize int, additional ...[]byte) Cryptobin
CCMWithNonceSize
func (Cryptobin) CCMWithNonceSize ¶
CCMWithNonceSize ccm nonce size, should be in [7,13]
func (Cryptobin) CCMWithTagSize ¶
CCMWithTagSize Tag sizes between 8 and 16 bytes are allowed.
func (Cryptobin) Chacha20poly1305 ¶
Chacha20poly1305 nonce is 12 bytes
func (Cryptobin) Chacha20poly1305X ¶
Chacha20poly1305X nonce is 24 bytes
func (Cryptobin) FromBase64String ¶
设置数据 Base64 set data Base64
func (Cryptobin) FromHexString ¶
设置数据 Hex set data Hex
func (Cryptobin) FromString ¶
设置数据字符 set data string
func (Cryptobin) FuncDecrypt ¶
方法解密 Func Decrypt
func (Cryptobin) FuncEncrypt ¶
方法加密 Func Encrypt
func (Cryptobin) GCMWithNonceSize ¶
GCMWithNonceSize
func (Cryptobin) GCMWithTagSize ¶
GCMWithTagSize
func (Cryptobin) GetMultiple ¶
获取加密类型 Get Multiple type
func (Cryptobin) GetOneConfig ¶
获取获取一个配置 Get One Config
func (Cryptobin) GetParsedData ¶
获取解析后的数据 Get ParsedData
func (Cryptobin) Gost ¶
Gost The key argument should be 32 bytes. sbox is [
SboxDESDerivedParamSet SboxRFC4357TestParamSet SboxGostR341194CryptoProParamSet SboxTC26gost28147paramZ SboxEACParamSet
] or set [][]byte data
func (Cryptobin) ISO7816_4Padding ¶
ISO7816_4 补码 ISO7816_4Padding
func (Cryptobin) ISO10126Padding ¶
ISO10126 补码 ISO10126Padding
func (Cryptobin) ISO97971Padding ¶
ISO97971 补码 ISO97971Padding
func (Cryptobin) Kuznyechik ¶
Kuznyechik The key argument should be 32 bytes.
func (Cryptobin) MultipleBy ¶
使用类型
func (Cryptobin) PBOC2Padding ¶
PBOC2 补码 PBOC2Padding
func (Cryptobin) PKCS5Padding ¶
PKCS5 补码 PKCS5Padding
func (Cryptobin) PKCS7Padding ¶
PKCS7 补码 PKCS7Padding
func (Cryptobin) Rijndael ¶
Rijndael The blockSize argument should be 16, 20, 24, 28 or 32 bytes. The key argument should be 16, 24 or 32 bytes.
func (Cryptobin) Rijndael128 ¶
Rijndael128 The key argument should be 16, 24 or 32 bytes.
func (Cryptobin) Rijndael192 ¶
Rijndael192 The key argument should be 16, 24 or 32 bytes.
func (Cryptobin) Rijndael256 ¶
Rijndael256 The key argument should be 16, 24 or 32 bytes.
func (Cryptobin) Safer ¶
Safer The typ should be K, SK string. The key argument should be 16, 24, 32 bytes.
func (Cryptobin) SetMultiple ¶
设置加密类型带参数 set Encrypt multiple with config
func (Cryptobin) SetPadding ¶
设置补码方式带参数 set padding type with config
func (Cryptobin) SetParsedData ¶
设置解析后的数据 set parsedData string
func (Cryptobin) ToBase64String ¶
输出 Base64 output Base64 String
func (Cryptobin) WithConfig ¶
设置配置 set config
func (Cryptobin) WithErrors ¶
设置错误 set error list
func (Cryptobin) WithMultiple ¶
设置加密类型 set Encrypt multiple
func (Cryptobin) WithPadding ¶
设置补码方式 set padding type
func (Cryptobin) WithParsedData ¶
设置解析后的数据 set parsedData bytes
type DataSet ¶
*
- 数据设置 / Data Set *
- @create 2023-3-31
- @author deatil
type EncryptAes ¶
type EncryptAes struct{}
NewCipher creates and returns a new cipher.Block. The key argument should be the AES key, either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256.
type EncryptAria ¶
type EncryptAria struct{}
Aria key is 16, 24, or 32 bytes.
type EncryptBlowfish ¶
type EncryptBlowfish struct{}
type EncryptCamellia ¶
type EncryptCamellia struct{}
Camellia key is 16, 24, or 32 bytes.
type EncryptCast5 ¶
type EncryptCast5 struct{}
type EncryptChacha20 ¶
type EncryptChacha20 struct{}
32 bytes key and a 12 or 24 bytes nonce(iv)
type EncryptChacha20poly1305 ¶
type EncryptChacha20poly1305 struct{}
32 bytes key and 12 bytes nonce
type EncryptChacha20poly1305X ¶
type EncryptChacha20poly1305X struct{}
32 bytes key and 24 bytes nonce
type EncryptDes ¶
type EncryptDes struct{}
type EncryptGost ¶
type EncryptGost struct{}
Gost key is 32 bytes.
type EncryptHight ¶
type EncryptHight struct{}
The key argument should be 16 bytes.
type EncryptIdea ¶
type EncryptIdea struct{}
type EncryptKasumi ¶
type EncryptKasumi struct{}
The key argument should be 16 bytes.
type EncryptKhazad ¶
type EncryptKhazad struct{}
The key argument should be 16 bytes.
type EncryptKseed ¶
type EncryptKseed struct{}
The key argument should be 16 bytes.
type EncryptKuznyechik ¶
type EncryptKuznyechik struct{}
Kuznyechik key is 32 bytes.
type EncryptLea ¶
type EncryptLea struct{}
The key argument should be 16, 24, 32 bytes.
type EncryptMisty1 ¶
type EncryptMisty1 struct{}
The key argument should be 16 bytes.
type EncryptMulti2 ¶
type EncryptMulti2 struct{}
The key argument should be 40 bytes.
type EncryptPresent ¶
type EncryptPresent struct{}
The key argument should be 16, 20, 24, 28, 32, 36, and 40 bytes.
type EncryptRC2 ¶
type EncryptRC2 struct{}
type EncryptRC4 ¶
type EncryptRC4 struct{}
RC4 key, at least 1 byte and at most 256 bytes.
type EncryptRC4MD5 ¶
type EncryptRC4MD5 struct{}
RC4 key, at least 1 byte and at most 256 bytes.
type EncryptRC5 ¶
type EncryptRC5 struct{}
type EncryptRC6 ¶
type EncryptRC6 struct{}
type EncryptRijndael ¶
type EncryptRijndael struct{}
The key argument should be 16, 24 or 32 bytes.
type EncryptRijndael128 ¶
type EncryptRijndael128 struct{}
The key argument should be 16, 24 or 32 bytes.
type EncryptRijndael192 ¶
type EncryptRijndael192 struct{}
The key argument should be 16, 24 or 32 bytes.
type EncryptRijndael256 ¶
type EncryptRijndael256 struct{}
The key argument should be 16, 24 or 32 bytes.
type EncryptSM4 ¶
type EncryptSM4 struct{}
type EncryptSafer ¶
type EncryptSafer struct{}
The key argument should be 16, 24, 32 bytes.
type EncryptSaferplus ¶
type EncryptSaferplus struct{}
Saferplus key is 8, 16 bytes.
type EncryptSeed ¶
type EncryptSeed struct{}
Seed key is 16 bytes.
type EncryptSerpent ¶
type EncryptSerpent struct{}
Serpent key is 16, 24, 32 bytes.
type EncryptTea ¶
type EncryptTea struct{}
type EncryptTripleDes ¶
type EncryptTripleDes struct{}
type EncryptTrivium ¶
type EncryptTrivium struct{}
The key argument should be 10 bytes.
type EncryptTwine ¶
type EncryptTwine struct{}
The key argument should be 10 or 16 bytes.
type EncryptTwoDes ¶
type EncryptTwoDes struct{}
type EncryptTwofish ¶
type EncryptTwofish struct{}
The key argument should be the Twofish key, 16, 24 or 32 bytes.
type EncryptXtea ¶
type EncryptXtea struct{}
type EncryptXts ¶
type EncryptXts struct{}
Sectors must be a multiple of 16 bytes and less than 2²⁴ bytes.
type IEncrypt ¶
type IEncrypt interface {
// 加密
// Encrypt
Encrypt([]byte, IOption) ([]byte, error)
// 解密
// Decrypt
Decrypt([]byte, IOption) ([]byte, error)
}
加密接口 Encrypt interface
type IMode ¶
type IMode interface {
// 加密
// Encrypt
Encrypt([]byte, cipher.Block, IOption) ([]byte, error)
// 解密
// Decrypt
Decrypt([]byte, cipher.Block, IOption) ([]byte, error)
}
模式接口 Mode interface
type IOption ¶
type IOption interface {
// 密钥
// get Key
Key() []byte
// 向量
// get Iv
Iv() []byte
// 加密类型
// get Multiple
Multiple() Multiple
// 加密模式
// get Mode
Mode() Mode
// 填充模式
// get Padding
Padding() Padding
// 额外配置
// get extra Config
Config() *config.Config
}
配置接口 config interface
type IPadding ¶
type IPadding interface {
// 补码
// Padding
Padding([]byte, int, IOption) []byte
// 解密
// UnPadding
UnPadding([]byte, IOption) ([]byte, error)
}
填充接口 Padding interface
type ISO7816_4Paddinger ¶
type ISO7816_4Paddinger struct{}
type ISO10126Paddinger ¶
type ISO10126Paddinger struct{}
type ISO97971Paddinger ¶
type ISO97971Paddinger struct{}
type ModeCCM ¶
type ModeCCM struct{}
type ModeOCFB ¶
type ModeOCFB struct{}
OCFB 模式不需要补码 默认 prefix 放置在结果数据之前 OCFB not need padding and return [prefix + encrypted]
type Multiple ¶
type Multiple uint
加密类型 Multiple enum
const ( Aes Multiple = 1 + iota Des TwoDes TripleDes Twofish Blowfish Tea Xtea Cast5 RC2 RC4 RC4MD5 RC5 RC6 Idea SM4 Chacha20 Chacha20poly1305 Chacha20poly1305X Xts Seed Aria Camellia Gost Kuznyechik Serpent Saferplus Hight Lea Kasumi Safer Multi2 Kseed Khazad Present Trivium Rijndael Rijndael128 Rijndael192 Rijndael256 Twine Misty1 )
type NoPaddinger ¶
type NoPaddinger struct{}
type PBOC2Paddinger ¶
type PBOC2Paddinger struct{}
type PKCS5Paddinger ¶
type PKCS5Paddinger struct{}
type PKCS7Paddinger ¶
type PKCS7Paddinger struct{}
type TBCPaddinger ¶
type TBCPaddinger struct{}
type X923Paddinger ¶
type X923Paddinger struct{}
type ZeroPaddinger ¶
type ZeroPaddinger struct{}