tool

package
v1.0.1018 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2022 License: Apache-2.0 Imports: 25 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cipher

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

*

  • 加密方式 *
  • @create 2022-7-26
  • @author deatil

func NewCipher

func NewCipher() Cipher

构造函数

func (Cipher) AddFunc

func (this Cipher) AddFunc(name string, block CipherFunc) Cipher

添加

func (Cipher) GetFunc

func (this Cipher) GetFunc(name string) CipherFunc

类型

func (Cipher) WithFunc

func (this Cipher) WithFunc(funcs CipherFuncMap) Cipher

覆盖

type CipherFunc

type CipherFunc = func([]byte) (cipher.Block, error)

CipherFunc

type CipherFuncMap

type CipherFuncMap = map[string]CipherFunc

CipherFunc map 列表

type CryptoHashMap

type CryptoHashMap = map[string]crypto.Hash

hash

type Encoding

type Encoding struct{}

*

  • 编码 *
  • @create 2022-4-17
  • @author deatil

func NewEncoding

func NewEncoding() Encoding

构造函数

func (Encoding) Base64Decode

func (this Encoding) Base64Decode(s string) ([]byte, error)

Base64 解码

func (Encoding) Base64Encode

func (this Encoding) Base64Encode(src []byte) string

Base64 编码

func (Encoding) HexDecode

func (this Encoding) HexDecode(s string) ([]byte, error)

Hex 解码

func (Encoding) HexEncode

func (this Encoding) HexEncode(src []byte) string

Hex 编码

func (Encoding) HexPadding

func (this Encoding) HexPadding(text string, size int) string

补码

type Hash

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

*

  • 摘要 *
  • @create 2022-4-16
  • @author deatil

func NewHash

func NewHash() Hash

构造函数

func (Hash) AddCryptoHash

func (this Hash) AddCryptoHash(name string, sha crypto.Hash) Hash

添加

func (Hash) AddHash

func (this Hash) AddHash(name string, sha hashFunc) Hash

添加

func (Hash) DataCryptoHash

func (this Hash) DataCryptoHash(typ string, slices ...[]byte) []byte

签名后数据

func (Hash) DataHash

func (this Hash) DataHash(typ string, slices ...[]byte) []byte

签名后数据

func (Hash) GetCryptoHash

func (this Hash) GetCryptoHash(typ string) crypto.Hash

类型

func (Hash) GetHash

func (this Hash) GetHash(typ string) hashFunc

类型

func (Hash) WithCryptoHashs

func (this Hash) WithCryptoHashs(hashes CryptoHashMap) Hash

覆盖 cryptoHashes

func (Hash) WithHashs

func (this Hash) WithHashs(hashes HashMap) Hash

覆盖 hashes

type HashMap

type HashMap = map[string]hashFunc

hash

type Padding

type Padding struct{}

*

  • 补码 *
  • @create 2022-4-17
  • @author deatil

func NewPadding

func NewPadding() Padding

构造函数

func (Padding) ISO10126Padding

func (this Padding) ISO10126Padding(text []byte, blockSize int) []byte

ISO10126Padding 填充至符合块大小的整数倍,填充值最后一个字节为填充的数量数,其他字节填充随机字节。

func (Padding) ISO10126UnPadding

func (this Padding) ISO10126UnPadding(src []byte) []byte

func (Padding) ISO7816_4Padding

func (this Padding) ISO7816_4Padding(text []byte, blockSize int) []byte

ISO7816_4Padding 填充至符合块大小的整数倍,填充值第一个字节为0x80,其他字节填0x00。

func (Padding) ISO7816_4UnPadding

func (this Padding) ISO7816_4UnPadding(src []byte) []byte

func (Padding) PKCS1Padding

func (this Padding) PKCS1Padding(text []byte, blockSize int, bt string) []byte

填充格式如下: Padding = 00 + BT + PS + 00 + D 00为固定字节 BT为处理模式 PS为填充字节,填充数量为k - 3 - D,k表示密钥长度, D表示原文长度。 PS的最小长度为8个字节。填充的值根据BT值来定: BT = 00时,填充全00 BT = 01时,填充全FF BT = 02时,随机填充,但不能为00。

func (Padding) PKCS1UnPadding

func (this Padding) PKCS1UnPadding(src []byte) []byte

func (Padding) PKCS5Padding

func (this Padding) PKCS5Padding(text []byte) []byte

PKCS7Padding的子集,块大小固定为8字节

func (Padding) PKCS5UnPadding

func (this Padding) PKCS5UnPadding(src []byte) []byte

func (Padding) PKCS7Padding

func (this Padding) PKCS7Padding(text []byte, blockSize int) []byte

明文补码算法 填充至符合块大小的整数倍,填充值为填充数量数

func (Padding) PKCS7UnPadding

func (this Padding) PKCS7UnPadding(src []byte) []byte

明文减码算法

func (Padding) RandomBytes

func (this Padding) RandomBytes(length uint) []byte

随机字节

func (Padding) TBCPadding

func (this Padding) TBCPadding(text []byte, blockSize int) []byte

TBCPadding(Trailling-Bit-Compliment) 填充至符合块大小的整数倍,原文最后一位为1时填充0x00,最后一位为0时填充0xFF。

func (Padding) TBCUnPadding

func (this Padding) TBCUnPadding(src []byte) []byte

func (Padding) X923Padding

func (this Padding) X923Padding(text []byte, blockSize int) []byte

X923Padding 填充至符合块大小的整数倍,填充值最后一个字节为填充的数量数,其他字节填0

func (Padding) X923UnPadding

func (this Padding) X923UnPadding(src []byte) []byte

func (Padding) ZeroPadding

func (this Padding) ZeroPadding(text []byte, blockSize int) []byte

数据长度不对齐时使用0填充,否则不填充

func (Padding) ZeroUnPadding

func (this Padding) ZeroUnPadding(src []byte) []byte

Jump to

Keyboard shortcuts

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