Categorygithub.com/zlabwork/go-zlibs
modulepackage
1.3.3
Repository: https://github.com/zlabwork/go-zlibs.git
Documentation: pkg.go.dev

# README

INSTALL

go get github.com/zlabwork/go-zlibs

HTTP DEMO

// if you wanna use a proxy
// os.Setenv("HTTP_PROXY", "http://127.0.0.1:1080")

var libsHttp = zlibs.NewHttpLib()
resp, err := libsHttp.RequestGet("http://localhost")
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
    return nil, errors.New("response code " + string(resp.StatusCode))
}
body, err := ioutil.ReadAll(resp.Body)

// https://mholt.github.io/json-to-go/
type AutoGenerated struct {
    ID      string `json:"Id"`
    Code    int    `json:"Code"`
    Message string `json:"Message"`
}
var result AutoGenerated
err = json.Unmarshal(body, &result)
if err != nil {
    log.Fatal(err)
}
log.Println(result.Message)

AES

key := []byte("ceb50761f4c378e1bc2f8a7585fb572d")
text := []byte("this is test data")

aes := zlibs.NewAesLib()

// encrypt
ciphertext, err := aes.Encrypt(key, text, zlibs.CBCCipher)
if err != nil {
    fmt.Println(err)
}

// decrypt
plaintext, err := aes.Decrypt(key, ciphertext, zlibs.CBCCipher)
if err != nil {
    fmt.Println(err)
}
fmt.Println(string(plaintext))

RSA DEMO

var publicKey = []byte(`
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+E6iRdo0DXehnf6UBtLI+VHTv
kUiSqwa4GJO+Yfp7HQcg8VMaJ3lOHix3VZ31jwManpdogH5fyztW/63aYHnmX3xQ
loYfDvlONPEuzicBvDRMZOvzpKsHcr4hjGH5Tn1rJAUuUBXBR94TmyyQDyLSrtF9
+u+g1brj6+y9sX1siwIDAQAB
-----END PUBLIC KEY-----
`)

var privateKey = []byte(`
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC+E6iRdo0DXehnf6UBtLI+VHTvkUiSqwa4GJO+Yfp7HQcg8VMa
J3lOHix3VZ31jwManpdogH5fyztW/63aYHnmX3xQloYfDvlONPEuzicBvDRMZOvz
pKsHcr4hjGH5Tn1rJAUuUBXBR94TmyyQDyLSrtF9+u+g1brj6+y9sX1siwIDAQAB
AoGBAJu+OdnuvH5svNfJNCfgqkf+Jc6CSWe78QZ5RN2zJG0qDMRGWGROwctrV93z
7jjdlJqEJeV/m4zcVmPjnc0YTeg25lBRMaWH17JYW7jvwULvJm2zc1oB2/U7f0fU
SSuBI0+YKrrArHLVlI3sbIwhRAyum4WYkJkB6hG4I4knbtr5AkEA4q1fWauKu92p
vOdjZalMKLgXfvntGs6kQpZS3qxfztqCh7yKSKpuX95sZBqUZcw1UF0SMVYLYvix
IK8xE/cqHQJBANaqOmxQBzvQVRGrXfGPVx1VyZ17Y4Tq121nS/++zTBoxIshIS7w
doXQX5JwN0XaaYHKBGcyZu5f6s51B6Z7cMcCQGFRwBM2k/yuYVaKHWGjOuBskSHh
2Ytd1qYD9hZF+WhM5ieyqcgi6/pa+zxLMRU3hFg5bTsjTwYx8ZIvxSlmP30CQQCY
hp+4ciyRnXe0dFTt3HGDkH8O/Ks7uDmVrL3dW88jxG1Shhmz5nvwnJwryrwbUBOD
eu0h/jgQy+plA9aJvk/lAkBpBVW4cWryIEpv2/xkhsKSZVV3FEvEW7ZQh7HJUGZl
tbI09KjgVeZ/ZI8BN6PkyM7D5lYZf8N5tW0JEANR+rzZ
-----END RSA PRIVATE KEY-----
`)

testData := []byte("this is test data")

// set keys
libsRsa := zlibs.NewRsaLib()
libsRsa.SetPrivateKey(privateKey)
libsRsa.SetPublicKey(publicKey)

// encrypt with public key
ciphertext, err := libsRsa.Encrypt(testData)
if err != nil {
    log.Println(err)
}
log.Println("ciphertext bytes data:", ciphertext)

// decrypt with private key
plaintext, err := libsRsa.Decrypt(ciphertext)
if err != nil {
    log.Println(err)
}
log.Println("plaintext:", string(plaintext))

Tools

Convert text between GBK and UTF8 - http://golang.org/x/text
json to go - convert json to go struct type

# Packages

No description provided by the author

# Functions

No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author