Ver Fonte

响应头加desKey

hsun há 1 ano atrás
pai
commit
f1af45523f
5 ficheiros alterados com 19 adições e 14 exclusões
  1. 7 5
      controllers/base_auth.go
  2. 7 5
      controllers/base_common.go
  3. 1 1
      controllers/user_login.go
  4. 2 1
      utils/constants.go
  5. 2 2
      utils/des3.go

+ 7 - 5
controllers/base_auth.go

@@ -302,6 +302,8 @@ func (c *BaseAuthController) ServeJSON(encoding ...bool) {
 
 func (c *BaseAuthController) JSON(data interface{}, hasIndent bool, coding bool) error {
 	c.Ctx.Output.Header("Content-Type", "application/json; charset=utf-8")
+	desEncrypt := utils.DesBase64Encrypt([]byte(utils.DesKey), utils.DesKeySalt)
+	c.Ctx.Output.Header("Dk", string(desEncrypt)) // des3加解密key
 	var content []byte
 	var err error
 	if hasIndent {
@@ -323,11 +325,11 @@ func (c *BaseAuthController) JSON(data interface{}, hasIndent bool, coding bool)
 	}
 	c.logUri(content, requestBody, ip)
 	// 如果不是debug分支的话,那么需要加密返回
-	if utils.RunMode != "debug" {
-		content = utils.DesBase64Encrypt(content)
-		// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
-		content = []byte(`"` + string(content) + `"`)
-	}
+	//if utils.RunMode != "debug" {
+	content = utils.DesBase64Encrypt(content, utils.DesKey)
+	// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
+	content = []byte(`"` + string(content) + `"`)
+	//}
 	if coding {
 		content = []byte(utils.StringsToJSON(string(content)))
 	}

+ 7 - 5
controllers/base_common.go

@@ -85,6 +85,8 @@ func (c *BaseCommonController) ServeJSON(encoding ...bool) {
 
 func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding bool) error {
 	c.Ctx.Output.Header("Content-Type", "application/json; charset=utf-8")
+	desEncrypt := utils.DesBase64Encrypt([]byte(utils.DesKey), utils.DesKeySalt)
+	c.Ctx.Output.Header("Dk", string(desEncrypt)) // des3加解密key
 	var content []byte
 	var err error
 	if hasIndent {
@@ -103,11 +105,11 @@ func (c *BaseCommonController) JSON(data interface{}, hasIndent bool, coding boo
 	requestBody, _ := url.QueryUnescape(string(c.Ctx.Input.RequestBody))
 	c.logUri(content, requestBody, ip)
 	// 如果不是debug分支的话,那么需要加密返回
-	if utils.RunMode != "debug" {
-		content = utils.DesBase64Encrypt(content)
-		// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
-		content = []byte(`"` + string(content) + `"`)
-	}
+	//if utils.RunMode != "debug" {
+	content = utils.DesBase64Encrypt(content, utils.DesKey)
+	// get请求时,不加双引号就获取不到数据,不知道什么原因,所以还是在前后加上双引号吧
+	content = []byte(`"` + string(content) + `"`)
+	//}
 	if coding {
 		content = []byte(utils.StringsToJSON(string(content)))
 	}

+ 1 - 1
controllers/user_login.go

@@ -242,7 +242,7 @@ func (this *UserLoginController) GetVerifyCode() {
 func (this *UserLoginController) Login() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
-		if br.ErrMsg != "" {
+		if br.ErrMsg == "" {
 			br.IsSendEmail = false
 		}
 		this.Data["json"] = br

+ 2 - 1
utils/constants.go

@@ -362,5 +362,6 @@ const (
 )
 
 const (
-	UserLoginSalt = "MiQM9yusNA9T2uIH" // 用户登录盐值
+	UserLoginSalt = "MiQM9yusNA9T2uIH"         // 用户登录盐值
+	DesKeySalt    = "JMCqSoUrTAmyNNIRb0TtlrPk" // DesKey盐值
 )

+ 2 - 2
utils/des3.go

@@ -12,8 +12,8 @@ import (
 )
 
 // des3 + base64 encrypt
-func DesBase64Encrypt(origData []byte) []byte {
-	result, err := TripleDesEncrypt(origData, []byte(DesKey))
+func DesBase64Encrypt(origData []byte, desKey string) []byte {
+	result, err := TripleDesEncrypt(origData, []byte(desKey))
 	if err != nil {
 		panic(any(err))
 	}