Documentation ¶
Overview ¶
*
- @copyright 像衍科技-idr.ai
- @author 牛牛-研发部-www.ruomm.com
- @create 2024/1/17 21:23
- @version 1.0
*
- @copyright 像衍科技-idr.ai
- @author 牛牛-研发部-www.ruomm.com
- @create 2024/1/17 22:39
- @version 1.0
*
- @copyright 像衍科技-idr.ai
- @author 牛牛-研发部-www.ruomm.com
- @create 2024/1/17 22:39
- @version 1.0
*
- @copyright 像衍科技-idr.ai
- @author 牛牛-研发部-www.ruomm.com
- @create 2024/1/17 22:01
- @version 1.0
Index ¶
- Constants
- func DecodingToByte(encodeMode MODE_ENCODE, dataStr string) ([]byte, error)
- func EncodingToString(encodeMode MODE_ENCODE, data []byte) (string, error)
- func GenKeyData(keyLen int) []byte
- func GenKeyString(keyMode MODE_KEY, keyLen int) (string, error)
- func KeyIVByteToString(keyMode MODE_KEY, keyData []byte) (string, error)
- func KeyIVStringToByte(keyMode MODE_KEY, keyStr string) ([]byte, error)
- func Pkcs5Padding(data []byte, blockSize int) []byte
- func Pkcs5UnPadding(decrypted []byte) []byte
- func Pkcs7Byte(a int) byte
- func Pkcs7Padding(data []byte, blockSize int) []byte
- func Pkcs7UnPadding(decrypted []byte) []byte
- type EncryptHelper
- type MODE_ENCODE
- type MODE_KEY
- type MODE_PADDING
- type XAes
- func (x *XAes) DecDataCBC(dataEnc []byte) ([]byte, error)
- func (x *XAes) DecDataECB(dataEnc []byte) ([]byte, error)
- func (x *XAes) DecFileCBC(pathEnc string, pathDest string) error
- func (x *XAes) DecFileECB(pathEnc string, pathDest string) error
- func (x *XAes) DecStringCBC(strEnc string) (string, error)
- func (x *XAes) DecStringECB(strEnc string) (string, error)
- func (x *XAes) EncDataCBC(data []byte) ([]byte, error)
- func (x *XAes) EncDataECB(data []byte) ([]byte, error)
- func (x *XAes) EncFileCBC(pathSrc string, pathEnc string) error
- func (x *XAes) EncFileECB(pathSrc string, pathEnc string) error
- func (x *XAes) EncStringCBC(str string) (string, error)
- func (x *XAes) EncStringECB(str string) (string, error)
- func (x *XAes) GenKeyIvData(len int) ([]byte, error)
- func (x *XAes) GenKeyIvString(len int) (string, error)
- func (x *XAes) GetIVData() []byte
- func (x *XAes) GetIVString() (string, error)
- func (x *XAes) GetKeyData() []byte
- func (x *XAes) GetKeyString() (string, error)
- func (x *XAes) ModeOfEncode() MODE_ENCODE
- func (x *XAes) ModeOfKey() MODE_KEY
- func (x *XAes) ModeOfPadding() MODE_PADDING
- func (x *XAes) Padding(data []byte, blockSize int) []byte
- func (x *XAes) RestoreKeyIV(keyStr string) ([]byte, error)
- func (x *XAes) SetBlockSize(blockSize int)
- func (x *XAes) SetBlockSizeByKey(blockSizeByKey bool)
- func (x *XAes) SetIVData(iv []byte)
- func (x *XAes) SetIVString(ivStr string) error
- func (x *XAes) SetKeyData(key []byte)
- func (x *XAes) SetKeyString(keyStr string) error
- func (x *XAes) UnPadding(data []byte, blockSize int) []byte
Constants ¶
View Source
const ( MODE_KEY_BASE64 MODE_KEY = 1 MODE_KEY_HEX_LOWER MODE_KEY = 2 MODE_KEY_HEX_UPPER MODE_KEY = 3 MODE_KEY_STRING MODE_KEY = 4 MODE_ENCODE_BASE64 MODE_ENCODE = 1 MODE_ENCODE_HEX_LOWER MODE_ENCODE = 2 MODE_ENCODE_HEX_UPPER MODE_ENCODE = 3 MODE_PADDING_PKCS7 MODE_PADDING = "pkcs7" MODE_PADDING_PKCS5 MODE_PADDING = "pkcs5" FILE_BUFFER_SIZE = 1024 )
Variables ¶
This section is empty.
Functions ¶
func DecodingToByte ¶
func DecodingToByte(encodeMode MODE_ENCODE, dataStr string) ([]byte, error)
func EncodingToString ¶
func EncodingToString(encodeMode MODE_ENCODE, data []byte) (string, error)
func GenKeyData ¶
func Pkcs5Padding ¶
func Pkcs7Padding ¶
Types ¶
type EncryptHelper ¶
type EncryptHelper interface { // key模式 ModeOfKey() MODE_KEY // 字节转字符串编码方案 ModeOfEncode() MODE_ENCODE // Padding的模式 ModeOfPadding() MODE_PADDING // 设置key字节数组 SetKeyData(key []byte) // 设置iv字节数组 SetIVData(iv []byte) // 设置key字符串 SetKeyString(keyStr string) error // 设置iv字符串 SetIVString(ivStr string) error // 获取key字节数组 GetKeyData() []byte // 设置iv字节数组 GetIVData() []byte // 获取key字符串 GetKeyString() (string, error) // 获取iv字符串 GetIVString() (string, error) // 设置Blocksize SetBlockSize(blockSize int) // 设置BlockSize依据Key长度自动适配 SetBlockSizeByKey(blockSizeByKey bool) // 生成key或iv字节数组 GenKeyIvData(len int) ([]byte, error) // 生成key或iv字符串 GenKeyIvString(len int) (string, error) //// 生成iv字节数组 //GenIVData() ([]byte, error) //// 生成iv字符串 //GenIVString() (string, error) // 还原key或iv字符串为key或iv字节数组 RestoreKeyIV(keyStr string) ([]byte, error) // ECB加密字节数组 EncDataECB(data []byte) ([]byte, error) // CBC加密字节数组 EncDataCBC(data []byte) ([]byte, error) // ECB解密字节数组 DecDataECB(dataEnc []byte) ([]byte, error) // CBC解密字节数组 DecDataCBC(dataEnc []byte) ([]byte, error) // ECB加密字符串 EncStringECB(str string) (string, error) // CBC加密字符串 EncStringCBC(str string) (string, error) // ECB解密字符串 DecStringECB(strEnc string) (string, error) // CBC解密字符串 DecStringCBC(strEnc string) (string, error) // ECB加密字符串 EncFileECB(fileSrc string, fileEnc string) error // CBC加密字符串 EncFileCBC(fileSrc string, fileEnc string) error // ECB解密字符串 DecFileECB(fileEnc string, fileDest string) error // CBC解密字符串 DecFileCBC(fileEnc string, fileDest string) error // Padding&UnPadding Padding(data []byte, blockSize int) []byte UnPadding(data []byte, blockSize int) []byte }
type MODE_ENCODE ¶
type MODE_ENCODE int
func ParseEncodeMode ¶
func ParseEncodeMode(encodeMode MODE_ENCODE) MODE_ENCODE
type MODE_PADDING ¶
type MODE_PADDING string
func ParsePaddingMode ¶
func ParsePaddingMode(paddingMode MODE_PADDING) MODE_PADDING
type XAes ¶
type XAes struct { ModeKey MODE_KEY ModeEncode MODE_ENCODE ModePadding MODE_PADDING Key []byte Iv []byte //KeyLen int //IvLen int BlockSize int BlockSizeByKey bool PaddingHelper func(data []byte, blockSize int) []byte UnPaddingHelper func(data []byte, blockSize int) []byte }
func (*XAes) RestoreKeyIV ¶
还原key或iv字符串为key或iv字节数组
func (*XAes) SetBlockSizeByKey ¶
设置BlockSize依据Key长度自动适配
Click to show internal directories.
Click to hide internal directories.