// Hack to work around improper OO design protected override void Render(HtmlTextWriter output) { Uri url = null; try { url = new Uri(this.NavigateUrl); if (url.Scheme == Uri.UriSchemeHttp || url.Scheme == Uri.UriSchemeHttps || url.Scheme == Uri.UriSchemeMailto) { string _reformText = Text; NavigateUrl = url.ToString(); Text = Reform.HtmlEncode(_reformText); base.Render(output); Text = _reformText; } else { throw new ReformUrlException(url, "IOActive.Reform.ReformHyperLink::Render()"); } } catch (UriFormatException) { throw new ReformUrlException(null, this.NavigateUrl); } }
public void VbsString() { Assert.AreEqual("\"abc\"&chrw(60)", Reform.VbsString("abc<")); Assert.AreEqual("chrw(60)&\"abc\"", Reform.VbsString("<abc")); // Non encoded characters Assert.AreEqual("\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.\"", Reform.VbsString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars"); // Usual suspects Assert.AreEqual("chrw(60)&chrw(62)&chrw(38)&chrw(34)&chrw(92)&chrw(39)", Reform.VbsString("<>&\"\\'"), "Usual suspects"); // Other characters Assert.AreEqual("chrw(96)&chrw(126)&chrw(33)&chrw(64)&chrw(35)&chrw(36)&chrw(37)&chrw(94)&chrw(38)&chrw(42)&chrw(40)&chrw(41)&chrw(95)&chrw(43)&chrw(61)&chrw(45)&chrw(123)&chrw(125)&chrw(124)&chrw(92)&chrw(93)&chrw(91)&chrw(58)&chrw(59)&chrw(39)&chrw(47)&chrw(63)&chrw(62)&chrw(60)", Reform.VbsString("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation"); // Unicode characters StringBuilder toEncode = new StringBuilder(6000); StringBuilder encodedStr = new StringBuilder(42000); for (uint i = 128; i < 6000; i++) { toEncode.Append((char)i); encodedStr.Append(String.Format("&chrw({0})", (int)i)); } encodedStr.Remove(0, 1); // remove & Assert.AreEqual(encodedStr.ToString(), Reform.VbsString(toEncode.ToString()), "Unicode characters to 6000"); }
public void JsString() { // Non encoded characters Assert.AreEqual("'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.'", Reform.JsString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars"); // Usual suspects Assert.AreEqual("'\\x3C\\x3E\\x26\\x22\\x5C\\x27'", Reform.JsString("<>&\"\\'"), "Usual suspects"); // Other characters Assert.AreEqual("'\\x60\\x7E\\x21\\x40\\x23\\x24\\x25\\x5E\\x26\\x2A\\x28\\x29\\x5F\\x2B\\x3D\\x2D\\x7B\\x7D\\x7C\\x5C\\x5D\\x5B\\x3A\\x3B\\x27\\x2F\\x3F\\x3E\\x3C'", Reform.JsString("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation"); // Unicode characters StringBuilder toEncode = new StringBuilder(6000); StringBuilder encodedStr = new StringBuilder(42000); encodedStr.Append('\''); for (uint i = 128; i < 6000; i++) { toEncode.Append((char)i); encodedStr.Append(String.Format("\\u{0:X4}", (int)i)); } encodedStr.Append('\''); Assert.AreEqual(encodedStr.ToString(), Reform.JsString(toEncode.ToString()), "Unicode characters to 6000"); }
protected override void Render(HtmlTextWriter output) { string _reformText = Text; Text = Reform.HtmlEncode(_reformText); base.Render(output); Text = _reformText; }
public void UpdateInfo(Vector3 pos) { score++; info.text = "Level: " + curLvl + "\nScore: " + score; if (score % 4 == 0) { GameObject newo = Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/BlockDown")); Reform reform = newo.GetComponent <Reform>(); reform.NewBlock(pos); } }
public void XmlAttributeEncodeDefault() { Assert.AreEqual("", Reform.XmlAttributeEncode(null, null), "Null for both parameters"); // Usual stuff Assert.AreEqual("default", Reform.XmlAttributeEncode(null, "default"), "Checking default"); // Non encoded characters Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform.XmlAttributeEncode(null, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321"), "Non encoding chars via default"); // Usual suspects Assert.AreEqual("<>&"", Reform.XmlAttributeEncode(null, "<>&\""), "Usual suspects via default"); // Other characters Assert.AreEqual(" ,.`~!@#$%^&*()_+=-{}|\][:;'/?><", Reform.XmlAttributeEncode(null, " ,.`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation via default"); // Unicode characters StringBuilder toEncode = new StringBuilder(6000); StringBuilder encodedStr = new StringBuilder(42000); for (uint i = 127; i < 6000; i++) { toEncode.Append((char)i); encodedStr.Append("&#").Append((int)i).Append(';'); } Assert.AreEqual(encodedStr.ToString(), Reform.XmlAttributeEncode(null, toEncode.ToString()), "Unicode characters to 6000 via default"); // The following are sanity checks // Non encoded characters Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform.XmlAttributeEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", "default"), "Non encoding chars"); // Usual suspects Assert.AreEqual("<>&"", Reform.XmlAttributeEncode("<>&\"", "default"), "Usual suspects"); // Other characters Assert.AreEqual(" ,.`~!@#$%^&*()_+=-{}|\][:;'/?><", Reform.XmlAttributeEncode(" ,.`~!@#$%^&*()_+=-{}|\\][:;'/?><", "default"), "Punctuation"); // Unicode characters toEncode = new StringBuilder(6000); encodedStr = new StringBuilder(42000); for (uint i = 127; i < 6000; i++) { toEncode.Append((char)i); encodedStr.Append("&#").Append((int)i).Append(';'); } Assert.AreEqual(encodedStr.ToString(), Reform.XmlAttributeEncode(toEncode.ToString(), "default"), "Unicode characters to 6000"); }
static void Main() { string inputText = "ШМОНИН"; int p = 13; int q = 19; BigInteger n = p * q; int fi = (p - 1) * (q - 1); int d = 115; int H0 = 13; BigInteger hash = Reform.NumberLetters(inputText, n, H0); //Console.WriteLine("Хеш-образ:" + hash); //Console.WriteLine("Простое число:" + n); int e = Reform.FindE(fi, d); //Console.WriteLine("Открытый ключ:" + e); BigInteger signature = BigInteger.ModPow(hash, d, n); Console.WriteLine("ЭЦП:" + signature); Control(e, n, hash, signature); Console.ReadKey(); }
public void HtmlEncode() { // Non encoded characters Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.", Reform.HtmlEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars"); // Usual suspects Assert.AreEqual("<>&"", Reform.HtmlEncode("<>&\""), "Usual suspects"); // Other characters Assert.AreEqual("`~!@#$%^&*()_+=-{}|\][:;'/?><", Reform.HtmlEncode("`~!@#$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation"); // Unicode characters StringBuilder toEncode = new StringBuilder(6000); StringBuilder encodedStr = new StringBuilder(42000); for (uint i = 127; i < 6000; i++) { toEncode.Append((char)i); encodedStr.Append("&#").Append((int)i).Append(';'); } Assert.AreEqual(encodedStr.ToString(), Reform.HtmlEncode(toEncode.ToString()), "Unicode characters to 6000"); }
/// <summary> /// Return bitmap of the IMGD file /// <param name="si">MemoryStream of the IMGD file/param> /// </summary> public static PicIMGD GetIMGD(MemoryStream si) { si.Position = 0L; if (si.ReadByte() != 73) { throw new NotSupportedException("!IMGD"); } if (si.ReadByte() != 77) { throw new NotSupportedException("!IMGD"); } if (si.ReadByte() != 71) { throw new NotSupportedException("!IMGD"); } if (si.ReadByte() != 68) { throw new NotSupportedException("!IMGD"); } var binaryReader = new BinaryReader(si); binaryReader.ReadInt32(); int num = binaryReader.ReadInt32(); int count = binaryReader.ReadInt32(); int num2 = binaryReader.ReadInt32(); int count2 = binaryReader.ReadInt32(); si.Position = 28L; int num3 = binaryReader.ReadUInt16(); int num4 = binaryReader.ReadUInt16(); si.Position = 38L; int num5 = binaryReader.ReadUInt16(); si.Position = 60L; int num6 = binaryReader.ReadByte(); bool flag = num6 == 7; si.Position = num; byte[] array = binaryReader.ReadBytes(count); si.Position = num2; byte[] array2 = binaryReader.ReadBytes(count2); int num7 = num3; int num8 = num4; if (num5 == 19) { int num9 = num3 / 128; int num10 = num4 / 64; int bw = num9; int bh = num10; byte[] array3 = flag ? Reform.Decode8(Reform.Encode32(array, num9, num10), bw, bh) : array; var bitmap = new Bitmap(num7, num8, PixelFormat.Format8bppIndexed); BitmapData bitmapData = bitmap.LockBits(Rectangle.FromLTRB(0, 0, num7, num8), ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed); try { Marshal.Copy(array3, 0, bitmapData.Scan0, array3.Length); } finally { bitmap.UnlockBits(bitmapData); } var array4 = new byte[8192]; Array.Copy(array2, 0, array4, 0, Math.Min(8192, array2.Length)); byte[] array5 = array4; ColorPalette palette = bitmap.Palette; for (int i = 0; i < 256; i++) { int num11 = i; int num12 = Reform.pals.repl(i); palette.Entries[num12] = Color.FromArgb(Math.Min(255, array5[4 * num11 + 3] * 2), array5[4 * num11], array5[4 * num11 + 1], array5[4 * num11 + 2]); } bitmap.Palette = palette; return(new PicIMGD(bitmap)); } if (num5 == 20) { int num13 = num3 / 128; int num14 = num4 / 128; int bw2 = num13; int bh2 = num14; byte[] array6 = flag ? Reform.Decode4(Reform.Encode32(array, num13, num14), bw2, bh2) : HLUt.Swap(array); var bitmap2 = new Bitmap(num7, num8, PixelFormat.Format4bppIndexed); BitmapData bitmapData2 = bitmap2.LockBits(Rectangle.FromLTRB(0, 0, num7, num8), ImageLockMode.WriteOnly, PixelFormat.Format4bppIndexed); try { Marshal.Copy(array6, 0, bitmapData2.Scan0, array6.Length); } finally { bitmap2.UnlockBits(bitmapData2); } var array7 = new byte[8192]; Array.Copy(array2, 0, array7, 0, Math.Min(8192, array2.Length)); byte[] array8 = array7; ColorPalette palette2 = bitmap2.Palette; for (int j = 0; j < 16; j++) { int num15 = j; int num16 = j; palette2.Entries[num16] = Color.FromArgb(Math.Min(255, array8[4 * num15 + 3] * 2), array8[4 * num15], array8[4 * num15 + 1], array8[4 * num15 + 2]); } bitmap2.Palette = palette2; return(new PicIMGD(bitmap2)); } throw new NotSupportedException("v26 = " + num5.ToString("X")); }