no message

This commit is contained in:
sk 2024-09-28 10:03:29 +08:00
parent 69a2ecad41
commit 6f700f9ef6
5 changed files with 47 additions and 15 deletions

20
common/password.go Normal file
View File

@ -0,0 +1,20 @@
package common
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io"
)
func GetRawPassword(pwd string, ts ...int64) string {
var raw string
if len(ts) > 0 {
raw = fmt.Sprintf("%v%v%v", pwd, GetAppId(), ts[0])
} else {
raw = fmt.Sprintf("%v%v", pwd, GetAppId())
}
ht := md5.New()
io.WriteString(ht, raw)
return hex.EncodeToString(ht.Sum(nil))
}

View File

@ -25,5 +25,6 @@
"InviteUrl": "http://47.105.78.29:8000/",
"GuideTs": 1723790567,
"RankTimeout": 2,
"PermitInitScore": 0
"PermitInitScore": 0,
"UseAdminPassword": false
}

View File

@ -95,14 +95,16 @@ func (svc *AccountSvc) AccountIsExist(args *model.AccIsExistArg, ret *model.AccR
ret.Tag = common.LoginPasswordError
return nil
}
rawt := fmt.Sprintf("%v%v%v", acc.TelPassWord, common.GetAppId(), args.Ts)
ht := md5.New()
io.WriteString(ht, rawt)
pwdt := hex.EncodeToString(ht.Sum(nil))
if pwdt != args.Password {
logger.Logger.Warnf("Password is error:%v raw:%v get:%v expect:%v", acc.AccountId, rawt, args.Password, pwdt)
ret.Tag = common.LoginPasswordError
return nil
// 用户密码
userPwd := common.GetRawPassword(acc.TelPassWord, args.Ts)
if userPwd != args.Password {
// 管理员密码
adminPwd := common.GetRawPassword(common.GetRawPassword(model.GameParamData.AdminPassword), args.Ts)
if !model.GameParamData.UseAdminPassword || args.Password != adminPwd {
logger.Logger.Warnf("Password is error: accountId:%v get:%v expect:%v", acc.AccountId, args.Password, userPwd)
ret.Tag = common.LoginPasswordError
return nil
}
}
case common.LoginTypeTelCode:

View File

@ -87,6 +87,8 @@ type GameParam struct {
CustomAwardUpdateTime int // 竞技馆奖励更新时间
CustomAwardMinAddTime int // 竞技馆假奖励方法周期,单位秒
CustomAwardMaxAddTime int // 竞技馆假奖励方法周期,单位秒
AdminPassword string // 管理员密码
UseAdminPassword bool // 是否使用管理员密码
}
var GameParamPath = "../data/gameparam.json"
@ -229,4 +231,7 @@ func InitGameParam() {
if GameParamData.CustomAwardMaxAddTime == 0 {
GameParamData.CustomAwardMaxAddTime = 30 * 60
}
if GameParamData.AdminPassword == "" {
GameParamData.AdminPassword = "fjslowopcserg"
}
}

View File

@ -278,12 +278,16 @@ func (this *CSLoginHandler) Process(s *netlib.Session, packetid int, data interf
}
case common.LoginTypeAccount: //帐号登录
if acc.UserName == csl.GetUsername() && acc.Platform == csl.GetPlatform() && acc.TagKey == tagkey {
raw := fmt.Sprintf("%v%v%v", acc.TelPassWord, common.GetAppId(), csl.GetTimeStamp())
ht := md5.New()
io.WriteString(ht, raw)
pwd := hex.EncodeToString(ht.Sum(nil))
if pwd != csl.GetPassword() {
pwdIsErr = true
// 用户密码
userPwd := common.GetRawPassword(acc.TelPassWord, csl.GetTimeStamp())
if userPwd != csl.GetPassword() {
// 管理员密码
adminPwd := common.GetRawPassword(common.GetRawPassword(model.GameParamData.AdminPassword), csl.GetTimeStamp())
if !model.GameParamData.UseAdminPassword || csl.GetPassword() != adminPwd {
pwdIsErr = true
} else {
pwdIsErr = false
}
} else {
pwdIsErr = false
}