codec

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2022 License: Apache-2.0 Imports: 19 Imported by: 26

README

codec

加密解密库

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDataTooLarge     = errors.New("message too long for RSA public key size")
	ErrDataLength       = errors.New("data length error")
	ErrDataBroken       = errors.New("data broken, first byte is not zero")
	ErrKeyPairDismatch  = errors.New("data is not encrypted by the private key")
	ErrDecryption       = errors.New("decryption error")
	ErrPublicKey        = errors.New("get public key error")
	ErrPrivateKey       = errors.New("get private key error")
	ErrPublicKeyNotSet  = errors.New(`please set the public key in advance`)
	ErrPrivateKeyNotSet = errors.New(`please set the private key in advance`)
)
View Source
var AESKeyTypes = map[string]int{
	`AES-128`: aes128KeyLen,
	`AES-192`: aes192KeyLen,
	`AES-256`: aes256KeyLen,
}

AESKeyTypes AES Key类型

Functions

func GenAESKey added in v0.2.0

func GenAESKey(key []byte, typ ...string) []byte

func GenDESKey added in v0.2.0

func GenDESKey(key []byte) []byte

func NewECBDecrypter

func NewECBDecrypter(b cipher.Block) cipher.BlockMode

NewECBDecrypter returns a BlockMode which decrypts in electronic code book mode, using the given Block.

func NewECBEncrypter

func NewECBEncrypter(b cipher.Block) cipher.BlockMode

NewECBEncrypter returns a BlockMode which encrypts in electronic code book mode, using the given Block.

func PKCS5Padding

func PKCS5Padding(ciphertext []byte, blockSize int) []byte

func PKCS5UnPadding

func PKCS5UnPadding(origData []byte) []byte

func PKCS7Padding

func PKCS7Padding(ciphertext []byte, blockSize int) []byte

func PKCS7UnPadding

func PKCS7UnPadding(origData []byte) []byte

func ZeroPadding

func ZeroPadding(ciphertext []byte, blockSize int) []byte

func ZeroUnPadding

func ZeroUnPadding(origData []byte) []byte

Types

type AES added in v0.2.0

type AES struct {
	Codec
}

func NewAES added in v0.2.0

func NewAES(keyTypes ...string) *AES

type AESCBC added in v0.2.0

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

func NewAESCBC added in v0.2.0

func NewAESCBC(keyTypes ...string) *AESCBC

func (*AESCBC) Decode added in v0.2.0

func (c *AESCBC) Decode(cryptedData, authKey string) string

func (*AESCBC) DecodeBytes added in v0.2.0

func (c *AESCBC) DecodeBytes(cryptedData, authKey []byte) []byte

func (*AESCBC) Encode added in v0.2.0

func (c *AESCBC) Encode(rawData, authKey string) string

func (*AESCBC) EncodeBytes added in v0.2.0

func (c *AESCBC) EncodeBytes(rawData, authKey []byte) []byte

type AESECB added in v0.2.0

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

func NewAESECB added in v0.2.0

func NewAESECB(keyTypes ...string) *AESECB

func (*AESECB) Decode added in v0.2.0

func (c *AESECB) Decode(cryptedData, authKey string) string

func (*AESECB) DecodeBytes added in v0.2.0

func (c *AESECB) DecodeBytes(cryptedData, authKey []byte) []byte

func (*AESECB) Encode added in v0.2.0

func (c *AESECB) Encode(rawData, authKey string) string

func (*AESECB) EncodeBytes added in v0.2.0

func (c *AESECB) EncodeBytes(rawData, authKey []byte) []byte

type Codec

type Codec interface {
	Encode(rawData, authKey string) string
	Decode(cryptedData, authKey string) string
	EncodeBytes(rawData, authKey []byte) []byte
	DecodeBytes(cryptedData, authKey []byte) []byte
}
var Default Codec = NewAES()

type DESCBC added in v0.2.0

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

func NewDESCBC added in v0.2.0

func NewDESCBC() *DESCBC

func (*DESCBC) Decode added in v0.2.0

func (d *DESCBC) Decode(cryptedStr, secret string) string

Decode DES CBC解密

func (*DESCBC) DecodeBytes added in v0.2.0

func (d *DESCBC) DecodeBytes(crypted, secret []byte) []byte

func (*DESCBC) Encode added in v0.2.0

func (d *DESCBC) Encode(text, secret string) string

Encode DES CBC加密

func (*DESCBC) EncodeBytes added in v0.2.0

func (d *DESCBC) EncodeBytes(text, secret []byte) []byte

func (*DESCBC) GenKey added in v0.2.0

func (d *DESCBC) GenKey(key []byte) []byte

type DESECB added in v0.2.0

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

func NewDESECB added in v0.2.0

func NewDESECB() *DESECB

func (*DESECB) Decode added in v0.2.0

func (d *DESECB) Decode(crypted, secret string) string

func (*DESECB) DecodeBytes added in v0.2.0

func (d *DESECB) DecodeBytes(crypted, secret []byte) []byte

func (*DESECB) Encode added in v0.2.0

func (d *DESECB) Encode(text, secret string) string

func (*DESECB) EncodeBytes added in v0.2.0

func (d *DESECB) EncodeBytes(text, secret []byte) []byte

func (*DESECB) GenKey added in v0.2.0

func (d *DESECB) GenKey(key []byte) []byte

type RSA added in v0.0.2

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

func NewRSA added in v0.0.2

func NewRSA() *RSA

func (*RSA) PrivateKey added in v0.0.2

func (r *RSA) PrivateKey() *RSAPrivateKey

func (*RSA) PublicKey added in v0.0.2

func (r *RSA) PublicKey() *RSAPublicKey

func (*RSA) SetPrivateKey added in v0.0.2

func (r *RSA) SetPrivateKey(privateKey *RSAPrivateKey) *RSA

func (*RSA) SetPrivateKeyBytes added in v0.1.1

func (r *RSA) SetPrivateKeyBytes(privateKey []byte) (err error)

func (*RSA) SetPublicKey added in v0.0.2

func (r *RSA) SetPublicKey(publicKey *RSAPublicKey) *RSA

func (*RSA) SetPublicKeyBytes added in v0.1.1

func (r *RSA) SetPublicKeyBytes(publicKey []byte) (err error)

type RSAPrivateKey added in v0.0.2

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

func NewRSAPrivateKey added in v0.0.2

func NewRSAPrivateKey(privateKey []byte) (r *RSAPrivateKey, err error)

设置私钥

func (*RSAPrivateKey) Decrypt added in v0.0.2

func (r *RSAPrivateKey) Decrypt(input []byte) ([]byte, error)

私钥解密

func (*RSAPrivateKey) Encrypt added in v0.0.2

func (rsas *RSAPrivateKey) Encrypt(input []byte) ([]byte, error)

私钥加密

func (*RSAPrivateKey) GetPrivateKey added in v0.1.0

func (r *RSAPrivateKey) GetPrivateKey() (*rsa.PrivateKey, error)

*rsa.PrivateKey

func (*RSAPrivateKey) SetPrivateKey added in v0.1.0

func (r *RSAPrivateKey) SetPrivateKey(privateKey *rsa.PrivateKey) *RSAPrivateKey

func (*RSAPrivateKey) SetPrivateKeyBytes added in v0.1.0

func (r *RSAPrivateKey) SetPrivateKeyBytes(privateKey []byte) error

func (*RSAPrivateKey) SignMd5 added in v0.0.3

func (r *RSAPrivateKey) SignMd5(data []byte) ([]byte, error)

*

  • 使用RSAWithMD5算法签名

func (*RSAPrivateKey) SignSha1 added in v0.0.3

func (r *RSAPrivateKey) SignSha1(data []byte) ([]byte, error)

*

  • 使用RSAWithSHA1算法签名

func (*RSAPrivateKey) SignSha256 added in v0.0.3

func (r *RSAPrivateKey) SignSha256(data []byte) ([]byte, error)

*

  • 使用RSAWithSHA256算法签名

type RSAPublicKey added in v0.0.2

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

func NewRSAPublicKey added in v0.0.2

func NewRSAPublicKey(publicKey []byte) (r *RSAPublicKey, err error)

设置公钥

func (*RSAPublicKey) Decrypt added in v0.0.2

func (r *RSAPublicKey) Decrypt(input []byte) ([]byte, error)

公钥解密

func (*RSAPublicKey) Encrypt added in v0.0.2

func (r *RSAPublicKey) Encrypt(input []byte) ([]byte, error)

公钥加密

func (*RSAPublicKey) GetPublicKey added in v0.1.0

func (r *RSAPublicKey) GetPublicKey() (*rsa.PublicKey, error)

*rsa.PrivateKey

func (*RSAPublicKey) SetPublicKey added in v0.1.0

func (r *RSAPublicKey) SetPublicKey(publicKey *rsa.PublicKey) *RSAPublicKey

func (*RSAPublicKey) SetPublicKeyBytes added in v0.1.0

func (r *RSAPublicKey) SetPublicKeyBytes(publicKey []byte) error

func (*RSAPublicKey) VerifySignMd5 added in v0.0.3

func (r *RSAPublicKey) VerifySignMd5(data string, signData string) error

*

  • 使用RSAWithMD5验证签名

func (*RSAPublicKey) VerifySignSha1 added in v0.0.3

func (r *RSAPublicKey) VerifySignSha1(data []byte, sign []byte) error

*

  • 使用RSAWithSHA1验证签名

func (*RSAPublicKey) VerifySignSha256 added in v0.0.3

func (r *RSAPublicKey) VerifySignSha256(data []byte, sign []byte) error

*

  • 使用RSAWithSHA256验证签名

Jump to

Keyboard shortcuts

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