title: Decrypt string using Bouncy Castle RC4 algorithm in C#
body: <p>I am trying to use library Bouncy Castle for decrypting. But the decrypted string is not correct. I am getting value Aa1ŽYY445Ló, but correct value should be Aa11YY445LL. What I am doing wrong? When I try to decrypt string on <a href="http://rc4.online-domain-tools.com/" rel="nofollow">http://rc4.online-domain-tools.com/</a> I am getting correct result. </p>
  
  <p>Code sample:</p>
  
  <pre><code>string textToDecrypt = HexDumper.FromHex("E5497380DC724B28284D80");
  var key = Encoding.UTF8.GetBytes("heslo");
  var cipher = new RC4Engine();
  cipher.Init(true, new KeyParameter(key));
  
  byte[] inBytes = UTF8Encoding.GetEncoding(1252).GetBytes(textToDecrypt);
  byte[] outBuffer = new byte[1024 * 4];
  cipher.ProcessBytes(inBytes, 0, inBytes.Length, outBuffer, 0);
  
  // Output must be 41 61 31 31 59 59 34 34 35 4c 4c -&gt; Aa11YY445LL
  var textDecrypted = ASCIIEncoding.GetEncoding(1252).GetString(outBuffer);
  int indexOf0 = textDecrypted.IndexOf("\0");
  if (indexOf0 &gt; 0)
  {
      textDecrypted = textDecrypted.Substring(0, indexOf0);
      MessageBox.Show(textDecrypted);
  }
  
  public static string FromHex(string hexString)
  {
      string StrValue = "";
      while (hexString.Length &gt; 0)
      {
          StrValue += System.Convert.ToChar(System.Convert.ToUInt32(hexString.Substring(0, 2), 16)).ToString();
          hexString = hexString.Substring(2, hexString.Length - 2);
      }
      return StrValue;
  }
  </code></pre>