代码之家  ›  专栏  ›  技术社区  ›  Johan Olsson

URL参数的编码

  •  1
  • Johan Olsson  · 技术社区  · 15 年前

    我相信这和编码有关,我已经研究过几种编码转换的解决方案,但没有一个能解决我的问题。

    你有什么好主意吗?

    public ActionResult MyCallback(string myParameter, string myMAC)
    {
        // This works...
        myParameter = "same value with åäö";
    
        if(Hash(myParameter + mySecrect).Equals(myMAC))
        {
            // Valid.
        }
    
        return View();
    }
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Johan Olsson    15 年前

    我通过从URL获取参数并自己解码来解决这个问题。

    Regex regex = new Regex(@"foo=(.*?)(&|\z)");
    string myFooParameter = regex.Match(Request.RawUrl).Groups[1].Value;
    myFooParameter = HttpUtility.UrlDecode(myFooParameter, Encoding.GetEncoding(28591));
    
        2
  •  0
  •   Hector Correa    15 年前

    你确定问题出在你的哈希例程上了吗?

    你能用MVC之外有问题的值来计算Hash吗?