Anti XSS库解码

ond*_*der 2 c# decode antixsslibrary

我正在使用microsoft anti xss库来形成安全性.我正在使用HtmlFormUrlEncode方法.

如何解码录制的数据?

样本数据 :

mail%40sample.com
%c3%96nder  
Run Code Online (Sandbox Code Playgroud)

blo*_*art 7

AntiXSS不提供解码 - .NET框架倾向于为您执行此操作.实际上,UrlDecode实际上应该是正确的.

但是,如果你想手动创建它应该能够创建一个与原始字符串长度相同的char []数组,然后循环遍历字符串,查找%然后抓取后面的两个字符,确保它们是有效的十六进制,然后执行以下操作以获取十六进制值

if ((h >= '0') && (h <= '9'))
{
    return (h - '0');
}
if (((h >= 'a') && (h <= 'f')) ||
    ((h >= 'A') && (h <= 'F')))
{
    return ((h - 'a') + 10);
}
Run Code Online (Sandbox Code Playgroud)

一旦你有两个值,你就可以合并

byte b = (byte) ((firstByte << 4) | secondByte);
Run Code Online (Sandbox Code Playgroud)

并通过调用UTF8Encoding.GetChars()将其附加到数组

(注意:代码不在我的头顶,没有正确测试)