// Copyright 2014 Claudemiro Alves Feitosa Neto. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package utils import ( "crypto/hmac" "crypto/sha256" "encoding/hex" "fmt" "math/rand" "time" ) // HashMAC Calculates the MAC signing with the given key and returns the hexadecimal encoded Result func HashMAC(message, key []byte) string { mac := hmac.New(sha256.New, key) mac.Write(message) expected := mac.Sum(nil) return hex.EncodeToString(expected) } // Generate a new random Hash func GenerateSessionID() string { MAX := 999999999 rand.Seed(time.Now().Unix()) return fmt.Sprintf("%d.%d", rand.Intn(MAX), rand.Intn(MAX)) }