using Microsoft.Security.Application;
public static void Main()
Console.WriteLine(HtmlAttributeEncode("<&任何/?=\""));
Console.WriteLine(HttpUtility.HtmlEncode("<&任何/?=\""));
Console.WriteLine(HttpUtility.UrlEncode("<&任何/?=\""));
Console.WriteLine(HttpUtility.HtmlAttributeEncode("<&任何/?=\""));
Console.WriteLine(HttpUtility.JavaScriptStringEncode("<&任何/?=\""));
Console.WriteLine(HttpUtility.UrlPathEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.HtmlEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.HtmlAttributeEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.JavaScriptEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.UrlEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.VisualBasicScriptEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.XmlAttributeEncode("<&任何/?=\""));
Console.WriteLine(AntiXss.XmlEncode("<&任何/?=\""));
Console.WriteLine(Sanitizer.GetSafeHtmlFragment("<&任何/?=\""));
Console.WriteLine(Encoder.UrlPathEncode("<&任何/?=\""));
Console.WriteLine(Encoder.HtmlAttributeEncode("<&任何/?=\""));
Console.WriteLine(Encoder.UrlEncode("<&任何/?=\""));
Console.WriteLine(Encoder.UrlPathEncode("<&任何/?=\""));
Console.WriteLine(Encoder.XmlEncode("<&任何/?=\""));
Console.WriteLine(Sanitizer.GetSafeHtml("<&任何/?=\""));
private static char[][] WhitelistCodes = InitWhitelistCodes();
private static char[][] InitWhitelistCodes()
char[][] chArray1 = new char[65536][];
for ( int index1 = 0; index1 < chArray1.Length; ++index1 )
if ( index1 >= 97 && index1 <= 122 || index1 >= 65 && index1 <= 90 || (index1 >= 48 && index1 <= 57 || (index1 == 32 || index1 == 46)) || (index1 == 44 || index1 == 45 || index1 == 95 || (index1 >= 256 && index1 <= 591 || index1 >= 880 && index1 <= 2047)) || (index1 >= 2304 && index1 <= 6319 || index1 >= 6400 && index1 <= 6687 || (index1 >= 6912 && index1 <= 7039 || index1 >= 7680 && index1 <= 8191) || (index1 >= 11264 && index1 <= 11743 || index1 >= 12352 && index1 <= 12591 || (index1 >= 12688 && index1 <= 12735 || index1 >= 12784 && index1 <= 12799))) || (index1 >= 40960 && index1 <= 42191 || index1 >= 42784 && index1 <= 43055 || (index1 >= 43072 && index1 <= 43135 || index1 >= 44032 && index1 <= 55215) || index1 >= 19968 && index1 <= 40899) )
chArray1[index1] = (char[])null;
string str = index1.ToString();
char[] chArray2 = new char[length];
for ( int index2 = 0; index2 < length; ++index2 )
chArray2[index2] = str[index2];
chArray1[index1] = chArray2;
public static string HtmlAttributeEncode(string input)
if ( string.IsNullOrEmpty(input) )
int length2 = input.Length;
char[] chArray1 = new char[length2 * 8];
for ( int index1 = 0; index1 < length2; ++index1 )
int index2 = (int)input[index1];
if ( WhitelistCodes[index2] != null || index2 == 32 )
char[] whitelistCode = WhitelistCodes[index2];
char[] chArray2 = chArray1;
char[] chArray3 = chArray1;
char[] chArray4 = chArray1;
char[] chArray5 = chArray1;
for ( int index5 = 0; index5 < whitelistCode.Length; ++index5 )
chArray1[num2++] = whitelistCode[index5];
char[] chArray6 = chArray1;
chArray1[length1++] = input[index1];
return new string(chArray1, 0, length1);