package osi import ( "crypto/md5" "encoding/hex" ) type HeaderInput struct { OrgCode string DeviceSN string UserName string Ask string TS string } func SignPassword(ts, ask string) string { sum := md5.Sum([]byte("ts=" + ts + "&ask=" + ask)) return hex.EncodeToString(sum[:]) } func BuildHeaders(input HeaderInput) map[string]string { return map[string]string{ "Content-Type": "application/json", "orgCode": input.OrgCode, "deviceSN": input.DeviceSN, "ts": input.TS, "userName": input.UserName, "password": SignPassword(input.TS, input.Ask), } }