gpt4 book ai didi

c# - AntiForgery token 中的有效字符 __RequestVerificationToken

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:51 25 4
gpt4 key购买 nike

我是 ASP.NET MVC 的新手。我想知道在 ASP.NET MVC 中加密的 AntiForgeryToken 是否有一组唯一的有效字符。我需要在阅读时验证 key 。我在我的 web.config 中指定了 machineKey。

提前致谢。任何有关 token 验证的建议都将不胜感激。

最佳答案

当您查看 MachineKey45CryptoSystem 类时,您会发现用于序列化防伪 token 的 Protect 方法:

public string Protect(byte[] data)
{
return HttpServerUtility.UrlTokenEncode(MachineKey.Protect(data, MachineKey45CryptoSystem._purposes));
}

再深入一点,就会发现HttpEncoder中的方法:

internal string UrlTokenEncode(byte[] input) {
....
}

在它的体内:

base64Str = Convert.ToBase64String(input);

// Step 3: Copy in the other chars. Transform the "+" to "-", and "/" to "_"
for (int iter = 0; iter < endPos; iter++) {
char c = base64Str[iter];

switch (c) {
case '+':
base64Chars[iter] = '-';
break;

case '/':
base64Chars[iter] = '_';
break;

case '=':
Debug.Assert(false);
base64Chars[iter] = c;
break;

default:
base64Chars[iter] = c;
break;
}
}

总而言之 - 有效字符为:字母、数字、-_

关于c# - AntiForgery token 中的有效字符 __RequestVerificationToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40892995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com