crypto

package module
v0.0.0-...-e0ff3c5 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2024 License: MIT Imports: 15 Imported by: 0

README

crypto

a golang encryption/decryption tool.

Documentation

Index

Constants

View Source
const (
	No       padding = "no"
	PKCS5    padding = "PKCS5"
	PKCS7    padding = "PKCS7"
	ZERO     padding = "ZERO"
	ANSIX923 padding = "ANSIX923"
	ISO97971 padding = "ISO97971"
	ISO10126 padding = "ISO10126"
)

Variables

View Source
var ErrorUnPadding = errors.New("UnPadding Error.")

Functions

func Ansix923Padding

func Ansix923Padding(src []byte, blockSize int) []byte

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/22 09:29:27 ColeCai. *********************************************************************************************************************

func Ansix923UnPadding

func Ansix923UnPadding(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/22 09:34:26 ColeCai. *********************************************************************************************************************

func Iso10126Padding

func Iso10126Padding(src []byte, blockSize int) []byte

*********************************************************************************************** * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/24 17:27:56 ColeCai. ***********************************************************************************************

func Iso10126UnPadding

func Iso10126UnPadding(src []byte) ([]byte, error)

*********************************************************************************************** * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/24 17:30:29 ColeCai. ***********************************************************************************************

func Iso97971Padding

func Iso97971Padding(src []byte, blockSize int) []byte

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/23 09:37:50 ColeCai. *********************************************************************************************************************

func Iso97971UnPadding

func Iso97971UnPadding(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/23 09:39:03 ColeCai. *********************************************************************************************************************

func PKCS5Padding

func PKCS5Padding(src []byte) []byte

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/02 10:38:19 ColeCai. * -update: 2022/12/21 09:56:54 ColeCai. * PKCS5 padding length is 8 bytes *********************************************************************************************************************

func PKCS5UnPadding

func PKCS5UnPadding(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/02 10:39:13 ColeCai. *********************************************************************************************************************

func PKCS7Padding

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

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/02 10:34:44 ColeCai. *********************************************************************************************************************

func PKCS7UnPadding

func PKCS7UnPadding(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/02 10:36:38 ColeCai. * -update: 2022/12/22 09:37:01 ColeCai. *********************************************************************************************************************

func Padding

func Padding(padding padding, src []byte, blockSize int) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/04 10:31:39 ColeCai. * -update: 2022/12/24 17:34:46 ColeCai. *********************************************************************************************************************

func RandNBytes

func RandNBytes(n int) []byte

*********************************************************************************************** * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/24 17:24:40 ColeCai. ***********************************************************************************************

func Testttt

func Testttt(t *testing.T)

func UnPadding

func UnPadding(padding padding, src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/04 10:34:16 ColeCai. * -update: 2022/12/24 17:35:53 ColeCai. *********************************************************************************************************************

func ZerosPadding

func ZerosPadding(src []byte, blockSize int) []byte

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/03 10:03:49 ColeCai. * -update: 2022/12/20 11:42:18 ColeCai. *********************************************************************************************************************

func ZerosUnPadding

func ZerosUnPadding(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/03 10:05:30 ColeCai. * -update: 2022/12/20 11:42:32 ColeCai. *********************************************************************************************************************

Types

type CBCCipher

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

func NewCBCCipher

func NewCBCCipher(block cipher.Block, iv []byte, padding padding) *CBCCipher

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/07 10:45:43 ColeCai. * -update: 2022/12/15 09:51:03 ColeCai. * init encrypt and decrypt block in CBCCipher construction stage. *********************************************************************************************************************

func (*CBCCipher) Decrypt

func (c *CBCCipher) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/07 10:50:10 ColeCai. * -update: 2022/12/15 10:00:03 ColeCai. *********************************************************************************************************************

func (*CBCCipher) Encrypt

func (c *CBCCipher) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/07 10:47:24 ColeCai. * -update: 2022/12/15 09:54:08 ColeCai. * -update: 2022/12/24 17:50:58 ColeCai. *********************************************************************************************************************

type CFBCipher

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

func NewCFBCipher

func NewCFBCipher(block cipher.Block, iv []byte) *CFBCipher

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/10 10:43:51 ColeCai. * -update: 2022/12/16 09:57:20 ColeCai. * init encrypt and decrypt stream in CFBCipher construction stage. *********************************************************************************************************************

func (*CFBCipher) Decrypt

func (c *CFBCipher) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/10 10:59:16 ColeCai. *********************************************************************************************************************

func (*CFBCipher) Encrypt

func (c *CFBCipher) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/10 10:45:10 ColeCai. *********************************************************************************************************************

type CTRCipher

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

func NewCTRCipher

func NewCTRCipher(block cipher.Block, iv []byte) *CTRCipher

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/11 14:20:08 ColeCai. * -update: 2022/12/19 14:08:54 ColeCai. * init CTR stream in CTRCipher construction stage. *********************************************************************************************************************

func (*CTRCipher) Decrypt

func (c *CTRCipher) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/11 14:22:40 ColeCai. * -update: 2022/12/19 14:10:23 ColeCai. *********************************************************************************************************************

func (*CTRCipher) Encrypt

func (c *CTRCipher) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/11 14:20:59 ColeCai. * -update: 2022/12/19 14:09:44 ColeCai. *********************************************************************************************************************

type DICCryptor

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

func (*DICCryptor) Decrypt

func (d *DICCryptor) Decrypt(data []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/12 09:48:06 ColeCai. *********************************************************************************************************************

func (*DICCryptor) Encrypt

func (d *DICCryptor) Encrypt(data []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/12 09:46:55 ColeCai. *********************************************************************************************************************

type ECBCipher

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

func NewECBCipher

func NewECBCipher(block cipher.Block, padding padding) *ECBCipher

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/17 09:42:17 ColeCai. * -update: 2022/12/20 09:36:13 ColeCai. * init encrypt and decrypt block in ECBCipher construction stage. *********************************************************************************************************************

func (*ECBCipher) Decrypt

func (e *ECBCipher) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/17 09:45:27 ColeCai. * -update: 2022/12/20 09:39:30 ColeCai. *********************************************************************************************************************

func (*ECBCipher) Encrypt

func (e *ECBCipher) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/17 09:43:14 ColeCai. * -update: 2022/12/20 09:38:29 ColeCai. * -update: 2022/12/24 17:51:18 ColeCai. *********************************************************************************************************************

type ICryptor

type ICryptor interface {
	Encrypt(src []byte) ([]byte, error)
	Decrypt(src []byte) ([]byte, error)
}

func New3DesCBCCryptor

func New3DesCBCCryptor(desKey, iv []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/05 09:49:55 ColeCai. *********************************************************************************************************************

func New3DesCFBCryptor

func New3DesCFBCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/06 09:57:12 ColeCai. *********************************************************************************************************************

func New3DesCTRCryptor

func New3DesCTRCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/09 10:21:34 ColeCai. *********************************************************************************************************************

func New3DesECBCryptor

func New3DesECBCryptor(desKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/07 09:38:04 ColeCai. *********************************************************************************************************************

func New3DesOFBCryptor

func New3DesOFBCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/08 09:38:13 ColeCai. *********************************************************************************************************************

func NewAesCBCCryptor

func NewAesCBCCryptor(aesKey, iv []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/21 09:53:18 ColeCai. *********************************************************************************************************************

func NewAesCFBCryptor

func NewAesCFBCryptor(aesKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/22 09:58:58 ColeCai. *********************************************************************************************************************

func NewAesCTRCryptor

func NewAesCTRCryptor(aesKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/25 09:42:57 ColeCai. *********************************************************************************************************************

func NewAesCryptor

func NewAesCryptor(aesKey []byte, mode Mode, padding padding, iv []byte) (ICryptor, error)

func NewAesECBCryptor

func NewAesECBCryptor(aesKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/23 09:44:03 ColeCai. *********************************************************************************************************************

func NewAesOFBCryptor

func NewAesOFBCryptor(aesKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/24 10:35:27 ColeCai. *********************************************************************************************************************

func NewBlowfishCBCCryptor

func NewBlowfishCBCCryptor(blowKey, iv []byte, padding padding) (ICryptor, error)

*********************************************************************************************** * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/25 17:22:39 ColeCai. ***********************************************************************************************

func NewBlowfishCFBCryptor

func NewBlowfishCFBCryptor(blowKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/26 10:08:40 ColeCai. *********************************************************************************************************************

func NewBlowfishCTRCryptor

func NewBlowfishCTRCryptor(blowKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/29 09:45:22 ColeCai. *********************************************************************************************************************

func NewBlowfishECBCryptor

func NewBlowfishECBCryptor(blowKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/27 09:40:54 ColeCai. *********************************************************************************************************************

func NewBlowfishOFBCryptor

func NewBlowfishOFBCryptor(blowKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/28 09:45:50 ColeCai. *********************************************************************************************************************

func NewDICEncryptor

func NewDICEncryptor(enBytes, deBytes []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/12 09:45:05 ColeCai. *********************************************************************************************************************

func NewDesCBCCryptor

func NewDesCBCCryptor(desKey, iv []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/28 09:38:33 ColeCai. *********************************************************************************************************************

func NewDesCFBCryptor

func NewDesCFBCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/29 10:49:28 ColeCai. *********************************************************************************************************************

func NewDesCTRCryptor

func NewDesCTRCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/02 09:37:53 ColeCai. *********************************************************************************************************************

func NewDesECBCryptor

func NewDesECBCryptor(desKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/30 10:05:29 ColeCai. *********************************************************************************************************************

func NewDesOFBCryptor

func NewDesOFBCryptor(desKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/01 09:45:32 ColeCai. *********************************************************************************************************************

func NewTwofishCBCCryptor

func NewTwofishCBCCryptor(twoKey, iv []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/30 09:45:34 ColeCai. *********************************************************************************************************************

func NewTwofishCFBCryptor

func NewTwofishCFBCryptor(twoKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/31 23:14:04 ColeCai. *********************************************************************************************************************

func NewTwofishCTRCryptor

func NewTwofishCTRCryptor(twoKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/05 09:33:00 ColeCai. *********************************************************************************************************************

func NewTwofishECBCryptor

func NewTwofishECBCryptor(twoKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/03 09:48:52 ColeCai. *********************************************************************************************************************

func NewTwofishOFBCryptor

func NewTwofishOFBCryptor(twoKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/04 09:44:11 ColeCai. *********************************************************************************************************************

func NewXTSCryptor

func NewXTSCryptor(cipherFunc func([]byte) (cipher.Block, error), key []byte, sector uint64) (ICryptor, error)

func NewXteaCBCCryptor

func NewXteaCBCCryptor(xteaKey, iv []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/06 09:43:20 ColeCai. *********************************************************************************************************************

func NewXteaCFBCryptor

func NewXteaCFBCryptor(xteaKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/09 09:46:03 ColeCai. *********************************************************************************************************************

func NewXteaCTRCryptor

func NewXteaCTRCryptor(xteaKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/12 10:25:32 ColeCai. *********************************************************************************************************************

func NewXteaECBCryptor

func NewXteaECBCryptor(xteaKey []byte, padding padding) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/10 09:34:34 ColeCai. *********************************************************************************************************************

func NewXteaOFBCryptor

func NewXteaOFBCryptor(xteaKey, iv []byte) (ICryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2023/01/11 09:42:59 ColeCai. *********************************************************************************************************************

type Mode

type Mode string
const (
	CBC Mode = "CBC"
	CFB Mode = "CFB"
	OFB Mode = "OFB"
	ECB Mode = "ECB"
	CTR Mode = "CTR"
	XTS Mode = "XTS"
)

type OFBCipher

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

func NewOFBCipher

func NewOFBCipher(block cipher.Block, iv []byte) *OFBCipher

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/14 10:36:37 ColeCai. * -update: 2022/12/21 09:40:32 ColeCai. * init OFB stream in OFBCipher construction stage. *********************************************************************************************************************

func (*OFBCipher) Decrypt

func (o *OFBCipher) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/14 10:39:09 ColeCai. * -update: 2022/12/21 09:41:59 ColeCai. *********************************************************************************************************************

func (*OFBCipher) Encrypt

func (o *OFBCipher) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/11/14 10:37:31 ColeCai. * -update: 2022/12/21 09:41:38 ColeCai. *********************************************************************************************************************

type RSACryptor

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

func NewRSACryptor

func NewRSACryptor(pubKey, priKey []byte) (*RSACryptor, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/14 10:01:17 ColeCai. *********************************************************************************************************************

func (*RSACryptor) Decrypt

func (r *RSACryptor) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/14 10:03:45 ColeCai. *********************************************************************************************************************

func (*RSACryptor) Encrypt

func (r *RSACryptor) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/14 10:02:41 ColeCai. *********************************************************************************************************************

type XORCryptor

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

func NewXORCryptor

func NewXORCryptor(key []byte) *XORCryptor

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/13 09:44:05 ColeCai. *********************************************************************************************************************

func (*XORCryptor) Decrypt

func (x *XORCryptor) Decrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/13 09:47:44 ColeCai. *********************************************************************************************************************

func (*XORCryptor) Encrypt

func (x *XORCryptor) Encrypt(src []byte) ([]byte, error)

********************************************************************************************************************* * SUMMARY: * WARNING: * HISTORY: * -create: 2022/12/13 09:45:47 ColeCai. *********************************************************************************************************************

type XTSCryptor

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

func (*XTSCryptor) Decrypt

func (X *XTSCryptor) Decrypt(src []byte) ([]byte, error)

func (*XTSCryptor) Encrypt

func (X *XTSCryptor) Encrypt(src []byte) ([]byte, error)

Jump to

Keyboard shortcuts

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