URL参数的编码
我有一个回调页面的页面,当用户重定向到我的页面时,我散列参数并检查它是否有效。我的问题是当 myParameter 包含 å、ä 和 ö 等字符时。如果我在控制器中将 myParameter 更改为“与 åäö 相同的值”,那么它就可以工作。
我相信这与编码有关,我已经研究了几种编码转换的解决方案,但没有一个解决了我的问题。
你有什么好主意吗?
public ActionResult MyCallback(string myParameter, string myMAC)
{
// This works...
myParameter = "same value with åäö";
if(Hash(myParameter + mySecrect).Equals(myMAC))
{
// Valid.
}
return View();
}
I got a page that is a callback page, when the user gets redirected to my page I hash the parameters and check if it is valid. My problem is when myParameter contains characters like å, ä and ö. If I change myParameter to "same value with åäö" in the controller, then it works.
I believe it has something to do with encodings, and I have looked at several solutions with conversion of encoding, but none of them have solved my problem.
You got any bright ideas?
public ActionResult MyCallback(string myParameter, string myMAC)
{
// This works...
myParameter = "same value with åäö";
if(Hash(myParameter + mySecrect).Equals(myMAC))
{
// Valid.
}
return View();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过从 URL 获取参数并自己解码来解决这个问题。
I solved it by getting the parameter from the URL and decode it myself.
您确定问题现在出在您的哈希例程上吗?
您可以在 MVC 之外计算具有问题值的哈希值吗?
Are you sure the problem is now with your Hash routine?
Can you calculate the Hash with the problematic value outside of MVC?