func (j *JWT) GenerateID() string {
	h := md5.New()
	h.Write([]byte(fmt.Sprintf("%s%s%s%s", j.Protocol, j.Host, j.Username, j.Password)))
	return fmt.Sprintf("%x", h.Sum(nil))
}
GenerateID generates a unique id based on JWT information
package config
import (
	"crypto/md5"
	"flag"
	"fmt"
	"io/ioutil"
	"log"
	"os"
	"github.com/gin-gonic/gin"
	"gopkg.in/yaml.v2"
)
type JWT struct {
	Protocol string `form:"protocol" json:"protocol" binding:"required"`
	Host     string `form:"host"     json:"host"     binding:"required"`
	Username string `form:"username" json:"username"`
	Password string `form:"password" json:"password" binding:"required"`
}