Cryptography lib in Go
go get github.com/AyakuraYuki/crypto-goimport "github.com/AyakuraYuki/crypto-go"Need more examples? You can find usage examples of the corresponding tools in the
_test.gofiles within the source code.
-
DES/ECB/PKCS7
dst, err := crypto.DesECBEncrypt([]byte("apple"), []byte("12345678"), crypto.PaddingPKCS7) if err != nil { log.Fatal(err) } fmt.Println(base64.StdEncoding.EncodeToString(dst))
-
AES/CBC/PKCS7
src := []byte("apple") key := []byte("1234567812345678") iv := []byte("5678567856785678") dst, err := crypto.AesCBCEncrypt(src, key, iv, crypto.PaddingPKCS7) if err != nil { log.Fatal(err) } fmt.Println(base64.StdEncoding.EncodeToString(dst))
-
MD5
src := "hello, world" dst := crypto.MD5ToString(src) fmt.Println(dst)
src, err := os.ReadFile("/path/to/binary_file") if err != nil { log.Fatal(err) } dst := crypto.BinaryMD5ToString(src) fmt.Println(dst)
-
SHA256
src := []byte("apple") dst := crypto.SHA256(src) fmt.Println(hex.EncodeToString(dst))
-
SM4/CBC/PKCS7
src := []byte("apple") key := []byte("1234567812345678") iv := []byte("5678567856785678") dst, err := crypto.SM4CBCEncrypt(src, key, iv, crypto.PaddingPKCS7) if err != nil { log.Fatal(err) } fmt.Println(base64.StdEncoding.EncodeToString(dst))