59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package gameopen
|
|
|
|
import (
|
|
"crypto/md5"
|
|
"encoding/hex"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
func buildQueryUserSign(req QueryUserRequest, key string) string {
|
|
return md5Hex(req.GameID + req.UID + req.Token + req.RoomID + key)
|
|
}
|
|
|
|
func buildUpdateCoinSign(req UpdateCoinRequest, key string) string {
|
|
return md5Hex(
|
|
req.OrderID +
|
|
req.GameID +
|
|
req.RoundID +
|
|
req.UID +
|
|
fmt.Sprintf("%d", req.Coin) +
|
|
fmt.Sprintf("%d", req.Type) +
|
|
fmt.Sprintf("%d", req.RewardType) +
|
|
req.Token +
|
|
req.WinID +
|
|
req.RoomID +
|
|
key,
|
|
)
|
|
}
|
|
|
|
func buildSupplementSign(req SupplementRequest, key string) string {
|
|
return md5Hex(
|
|
req.OrderID +
|
|
req.GameID +
|
|
req.RoundID +
|
|
req.UID +
|
|
fmt.Sprintf("%d", req.Coin) +
|
|
fmt.Sprintf("%d", req.RewardType) +
|
|
req.WinID +
|
|
req.RoomID +
|
|
key,
|
|
)
|
|
}
|
|
|
|
func verifySign(actual, expected string) bool {
|
|
return strings.EqualFold(strings.TrimSpace(actual), strings.TrimSpace(expected))
|
|
}
|
|
|
|
func receiptTypeFromType(typed int) string {
|
|
if typed == 2 {
|
|
return "INCOME"
|
|
}
|
|
return "EXPENDITURE"
|
|
}
|
|
|
|
func md5Hex(value string) string {
|
|
sum := md5.Sum([]byte(value))
|
|
return hex.EncodeToString(sum[:])
|
|
}
|