PDA

View Full Version : سوال: عملکرد رمز نگاری AES در کد



terrorhell
شنبه 24 آبان 1393, 14:20 عصر
سلام دوستان من کد زیر رو از سایت codeproject برداشتم برای رمز نگاری فایل ها توسط AES

ممنون میشم توضیح بدید در مورد خط به خط کد ها و نحوه عملکرد رمز نگاری که تقسیمات انجام شده در این کد به چه معنی هستن و یا خط زیر چه کاری انجام میده و تابع مربوطه کارش چیه ؟



var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);


class Encryption
{
public byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
{
byte[] encryptedBytes = null;


// Set your salt here, change it to meet your flavor:
// The salt bytes must be at least 8 bytes.
byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };


using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;


var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);


AES.Mode = CipherMode.CBC;


using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
cs.Close();
}
encryptedBytes = ms.ToArray();
}
}


return encryptedBytes;
}
}

terrorhell
یک شنبه 25 آبان 1393, 11:34 صبح
رفتم صفحه چهارم :لبخند:
یکی از دوستان ُ مدیران یا ... تا حالا از cryptography استفاده نکرده ؟

hosseinbarnamenevis
یک شنبه 25 آبان 1393, 13:01 عصر
میتونید برید اینجا لینک (http://fa.wikipedia.org/wiki/%D8%A7%D8%B3%D8%AA%D8%A7%D9%86%D8%AF%D8%A7%D8%B1%D 8%AF_%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB %8C_%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87)