github.com/iikira/iikira-go-utils@v0.0.0-20230610031953-f2cb11cde33a/utils/bdcrypto/hmac.go (about)

     1  package bdcrypto
     2  
     3  import (
     4  	"crypto/hmac"
     5  	"crypto/md5"
     6  	"crypto/sha1"
     7  	"crypto/sha256"
     8  	"crypto/sha512"
     9  )
    10  
    11  // HmacSHA1 HMAC-SHA-1签名认证
    12  func HmacSHA1(key, origData []byte) (sum []byte) {
    13  	mac := hmac.New(sha1.New, key)
    14  	mac.Write(origData)
    15  	return mac.Sum(nil)
    16  }
    17  
    18  // HmacSHA256 HMAC-SHA-256签名认证
    19  func HmacSHA256(key, origData []byte) (sum []byte) {
    20  	mac := hmac.New(sha256.New, key)
    21  	mac.Write(origData)
    22  	return mac.Sum(nil)
    23  }
    24  
    25  // HmacSHA512 HMAC-SHA-512签名认证
    26  func HmacSHA512(key, origData []byte) (sum []byte) {
    27  	mac := hmac.New(sha512.New, key)
    28  	mac.Write(origData)
    29  	return mac.Sum(nil)
    30  }
    31  
    32  // HmacMD5 HMAC-SHA512-签名认证
    33  func HmacMD5(key, origData []byte) (sum []byte) {
    34  	mac := hmac.New(md5.New, key)
    35  	mac.Write(origData)
    36  	return mac.Sum(nil)
    37  }