31 lines
611 B
Go
31 lines
611 B
Go
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),
|
||
|
|
}
|
||
|
|
}
|