padding

package
v1.0.5008 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ISO10126

type ISO10126 struct{}

*

  • ISO10126 补码 *
  • @create 2024-12-5
  • @author deatil

func NewISO10126

func NewISO10126() ISO10126

构造函数

func (ISO10126) Padding

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

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

func (ISO10126) UnPadding

func (this ISO10126) UnPadding(src []byte) ([]byte, error)

type ISO7816_4

type ISO7816_4 struct{}

*

  • ISO7816_4 补码 *
  • @create 2024-12-5
  • @author deatil

func NewISO7816_4

func NewISO7816_4() ISO7816_4

构造函数

func (ISO7816_4) Padding

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

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

func (ISO7816_4) UnPadding

func (this ISO7816_4) UnPadding(src []byte) ([]byte, error)

type ISO97971

type ISO97971 struct{}

*

  • ISO97971 补码 *
  • @create 2024-12-5
  • @author deatil

func NewISO97971

func NewISO97971() ISO97971

构造函数

func (ISO97971) Padding

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

ISO/IEC 9797-1 Padding Method 2 填充至符合块大小的整数倍,填充值第一个字节为0x80,其他字节填0x00。

func (ISO97971) UnPadding

func (this ISO97971) UnPadding(src []byte) ([]byte, error)

type PBOC2

type PBOC2 struct{}

*

  • PBOC2 补码 *
  • @create 2024-12-5
  • @author deatil

func NewPBOC2

func NewPBOC2() PBOC2

构造函数

func (PBOC2) Padding

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

PBOC2.0的MAC运算数据填充规范 若原加密数据的最末字节可能是0x80,则不推荐使用该模式 与 ISO97971Padding 一致

func (PBOC2) UnPadding

func (this PBOC2) UnPadding(src []byte) ([]byte, error)

type PKCS1

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

*

  • PKCS1 补码 *
  • @create 2024-12-5
  • @author deatil

func NewPKCS1

func NewPKCS1(bt string) PKCS1

构造函数

func (PKCS1) Padding

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

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

func (PKCS1) UnPadding

func (this PKCS1) UnPadding(src []byte) ([]byte, error)

type PKCS5

type PKCS5 struct{}

*

  • PKCS5 补码 *
  • @create 2024-12-5
  • @author deatil

func NewPKCS5

func NewPKCS5() PKCS5

构造函数

func (PKCS5) Padding

func (this PKCS5) Padding(text []byte, _ int) []byte

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

func (PKCS5) UnPadding

func (this PKCS5) UnPadding(src []byte) ([]byte, error)

明文减码算法

type PKCS7

type PKCS7 struct{}

*

  • PKCS7 补码 *
  • @create 2024-12-5
  • @author deatil

func NewPKCS7

func NewPKCS7() PKCS7

构造函数

func (PKCS7) Padding

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

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

func (PKCS7) UnPadding

func (this PKCS7) UnPadding(src []byte) ([]byte, error)

明文减码算法

type Padding

type Padding interface {
	// Padding func
	Padding(text []byte, blockSize int) []byte

	// UnPadding func
	UnPadding(src []byte) ([]byte, error)
}

padding interface struct

type TBC

type TBC struct{}

*

  • TBC 补码 *
  • @create 2024-12-5
  • @author deatil

func NewTBC

func NewTBC() TBC

构造函数

func (TBC) Padding

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

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

func (TBC) UnPadding

func (this TBC) UnPadding(src []byte) ([]byte, error)

type X923

type X923 struct{}

*

  • X923 补码 *
  • @create 2024-12-5
  • @author deatil

func (X923) Padding

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

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

func (X923) UnPadding

func (this X923) UnPadding(src []byte) ([]byte, error)

type Zero

type Zero struct{}

*

  • Zero 补码 *
  • @create 2024-12-5
  • @author deatil

func NewZero

func NewZero() Zero

构造函数

func (Zero) Padding

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

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

func (Zero) UnPadding

func (this Zero) UnPadding(src []byte) ([]byte, error)

Jump to

Keyboard shortcuts

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