package mycrypto import ( "encoding/base64" "service/library/logger" "github.com/forgoer/openssl" ) type AesEcbCrypto struct { aesPriKey []byte } func NewAesEcbCryptoFromString(aesPrivateKeyStr string) (p *AesEcbCrypto, err error) { p = &AesEcbCrypto{} //读取私钥 p.aesPriKey, err = base64.StdEncoding.DecodeString(aesPrivateKeyStr) if err != nil { logger.Error("Decoding aes primary key failed, check your config, please!, err: %v", err) return } return } func (p *AesEcbCrypto) Encrypt(msg []byte) (encryptedBytes []byte, err error) { //ECB加密 encryptedBytes, err = openssl.AesECBEncrypt(msg, p.aesPriKey, openssl.PKCS5_PADDING) return } func (p *AesEcbCrypto) Decrypt(encryptedBytes []byte) (decryptedBytes []byte, err error) { if len(encryptedBytes) == 0 { return } decryptedBytes, err = openssl.AesECBDecrypt(encryptedBytes, p.aesPriKey, openssl.PKCS5_PADDING) return }