crypto

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package crypto triple-des(3des)加密工具包

Package crypto aes加密工具包

Package crypto ecb加密模式工具包

Package crypto 填充方式工具包

Package crypto sm2国密非对称加密工具包

Package crypto sm4国密对称加密工具包

Index

Constants

View Source
const (
	// PaddingPkcs5 pkcs5(块大小为8bytes的pkcs7填充)
	PaddingPkcs5 = "pkcs5"
	// PaddingPkcs7 pkcs7
	PaddingPkcs7 = "pkcs7"
	// PaddingZero 0填充
	PaddingZero = "zero"
	// PaddingAnsix923 ansix923(除最后一个字节外全部填充0的pkcs7填充)
	PaddingAnsix923 = "ansix923"
	// PaddingIso10126 iso10126(除最后一个字节外全部填充随机数的pkcs7填充)
	PaddingIso10126 = "iso10126"
)

填充方式枚举

Variables

This section is empty.

Functions

func AesCbcDecrypt

func AesCbcDecrypt(key, iv, ciphertext []byte, padding string) (plaintext []byte, err error)

AesCbcDecrypt cbc模式的aes解密 @param key 密钥 @param iv 初始偏移向量 @param ciphertext 密文 @param padding 填充方式

func AesCbcEncrypt

func AesCbcEncrypt(key, iv, plaintext []byte, padding string) (ciphertext []byte, err error)

AesCbcEncrypt cbc模式的aes加密 @param key 密钥 @param iv 初始偏移向量 @param plaintext 明文 @param padding 填充方式

func CreateSm2PrivateKeyWithBase64

func CreateSm2PrivateKeyWithBase64(privateKey string) (*sm2.PrivateKey, error)

CreateSm2PrivateKeyWithBase64 通过base64编码字符串构造sm2私钥

func CreateSm2PublicKeyWithBase64

func CreateSm2PublicKeyWithBase64(publicKey string) (*sm2.PublicKey, error)

CreateSm2PublicKeyWithBase64 通过base64编码字符串构造sm2公钥

func EcbDecrypt

func EcbDecrypt(block cipher.Block, ciphertext []byte) ([]byte, error)

EcbDecrypt ecb模式解密

func EcbEncrypt

func EcbEncrypt(block cipher.Block, plaintext []byte) ([]byte, error)

EcbEncrypt ecb模式加密

func Padding

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

Padding 填充 @param padding 填充方式 @param src 原文 @param blockSize 块大小

func Sm2DecryptAsn1 added in v0.0.2

func Sm2DecryptAsn1(privateKey *sm2.PrivateKey, ciphertext []byte, mode int) ([]byte, error)

Sm2DecryptAsn1 解析asn.1编码格式内容并使用sm2解密 @param privateKey 私钥 @param ciphertext 密文 @param mode 密文顺序,参考github.com/tjfoc/gmsm/sm2包的枚举值,0为C1C3C2,1为C1C2C3

func Sm2EncryptAsn1 added in v0.0.2

func Sm2EncryptAsn1(publicKey *sm2.PublicKey, plaintext []byte, mode int) ([]byte, error)

Sm2EncryptAsn1 sm2加密并使用asn.1编码 @param publicKey 公钥 @param plaintext 明文内容 @param mode 密文顺序,参考github.com/tjfoc/gmsm/sm2包的枚举值,0为C1C3C2,1为C1C2C3

func Sm4CbcDecrypt

func Sm4CbcDecrypt(key, iv, ciphertext []byte, padding string) (plaintext []byte, err error)

Sm4CbcDecrypt cbc模式的sm4解密 @param key 密钥 @param iv 初始向量 @param ciphertext 密文 @param padding 填充方式

func Sm4CbcEncrypt

func Sm4CbcEncrypt(key, iv, plaintext []byte, padding string) (ciphertext []byte, err error)

Sm4CbcEncrypt cbc模式的sm4加密 @param key 密钥 @param iv 初始向量 @param plaintext 明文内容 @param padding 填充方式

func TripleDesEcbDecrypt

func TripleDesEcbDecrypt(key, ciphertext []byte, padding string) ([]byte, error)

TripleDesEcbDecrypt ecb模式的3des解密 @param key 加密key @param ciphertext 密文 @param padding 填充模式

func TripleDesEcbEncrypt

func TripleDesEcbEncrypt(key, plaintext []byte, padding string) ([]byte, error)

TripleDesEcbEncrypt ecb模式的3des加密 @param key 加密key @param plaintext 明文 @param padding 填充模式

func UnPadding

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

UnPadding 去填充 @param src 原文 @param padding 填充方式

Types

This section is empty.

Jump to

Keyboard shortcuts

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