rendered paste bodynamespace xorcrypt
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnEncrypt_Click(object sender, EventArgs e)
{
Random r = new Random();
string hexsequence = "\"", rRef = "0x", plain = rtbPlainText.Text, cipher;
int chval, startval = r.Next(256), xval = startval;
for (int i = 0; i < 4; i++)
rRef += r.Next(256).ToString("X");
for (int i = 0; i < plain.Length; i++)
{
if(plain[i] == '\\')
{
i++;
if(plain[i] == '0') chval = 0;
else if (plain[i] == 'n') chval = 10;
else if (plain[i] == '\\') chval = 92;
else if (plain[i] == 'r') chval = 13;
else rtbCipherText.Text = String.Format("Invalid Character {0}", plain[i]); return;
}
else if (plain[i] == '|') chval = 0;
else
{
chval = (int)plain[i];
if( (chval < 32) || (chval > 126))
rtbCipherText.Text = String.Format("Invalid Character {0}", plain[i]); return;
}
chval ^= xval;
xval += 1;
xval %= 256;
hexsequence += "\\x" + chval.ToString("X");
}
hexsequence += "\"";
cipher = "/*" + plain + "*/ XorStr<0x" + startval.ToString("X") + ",";
cipher += String.Format("{0}",plain.Length+1) + "," +rRef + ">(" + hexsequence + "+" + rRef + ").s";
rtbCipherText.Text = cipher;
}
}
}