github.com/tuingking/flamingo@v0.0.0-20220403134817-2796ae0e84ca/infra/toolkit/webdev.go (about)

     1  package toolkit
     2  
     3  import (
     4  	"crypto/hmac"
     5  	"crypto/sha256"
     6  	"encoding/base64"
     7  	"fmt"
     8  	"io"
     9  )
    10  
    11  const (
    12  	encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    13  )
    14  
    15  func HmacSha256(s string) string {
    16  	h := hmac.New(sha256.New, []byte("secret key"))
    17  	io.WriteString(h, s)
    18  	return fmt.Sprintf("%x", h.Sum(nil))
    19  }
    20  
    21  func EncodeBase64(s string) string {
    22  	return base64.StdEncoding.EncodeToString([]byte(s))
    23  }
    24  
    25  func EncodeBase64Custom(s string) string {
    26  	return base64.NewEncoding(encodeStd).EncodeToString([]byte(s))
    27  }