PDA

View Full Version : رمزنگاری Rijndael



armira
چهارشنبه 20 آذر 1392, 15:21 عصر
سلام خدمت دوستان عزیز . تابع زیر برای رمزنگاری به روش Rijndael و ISO10126 هست . ولی هر بار که یک متن رو Encrypt میکنه با دفعه ی قبلی فرق میکنه . چطور میتونم از همین تابع استفاده کنم ولی هر بار یک متن رو به یک شکل Encrypt کنه ؟ لطفا کمکم کنید .

private String EncryptIt(String s, byte[] key, byte[] IV)
{
String result;
RijndaelManaged rijn = new RijndaelManaged();
rijn.BlockSize = 256;
rijn.Mode = CipherMode.CBC;
rijn.Padding = PaddingMode.ISO10126;
rijn.KeySize = 256;
using (MemoryStream msEncrypt = new MemoryStream())
{
using (ICryptoTransform encryptor = rijn.CreateEncryptor(key, IV))
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(s);
}
}
}
result = System.Convert.ToBase64String(msEncrypt.ToArray()) ;
}
rijn.Clear();
return result;
}

وبرای استفاده از تابع مثلا اگر بخواهیم "123" را Encrypt کنم به شکل زیر ازش استفاده میکنم :

byte[] rijnKey = Encoding.ASCII.GetBytes("abcdefg_abcdefg_abcdefg_abcdefg_");
byte[] rijnIV = Encoding.ASCII.GetBytes("abcdefg_abcdefg_abcdefg_abcdefg_");
textBox3.Text = EncryptIt(textBox1.Text, rijnKey, rijnIV);