رمز نگاری و رمز گشایی با استفاده از کلید خصوصی در سی شارپ
1 0

رمز نگاری و رمز گشایی با استفاده از کلید خصوصی در سی شارپ


رمز نگاری و رمز گشایی با استفاده از کلید خصوصی در سی شارپ

در بعضی از شرایط پیش می آید که برای رمز نگاری و رمزگشای از یک کلید استفاده کنید تا هیچ کس نتواند اطلاعات شما را رمزگشای کند مگر اینکه کلیدی که شما در رمزنگاری استفاده کرده اید را داشته باشد

 

متد رمز نگاری

متد Encrypt دو ورودی دریافت می کند  و همچنین این متد به صورت یک Extension متد تعریف شده یعنی ورودی اول را به صورت Extension دریافت میکند.  یکی رشته ای که می خواهید آن را رمزنگاری کنید و دومی کلیدی که می خواهید با آن رمزنگاری صورت گیرد وارد می کنید.

متد Encrypt

 /// <summary>
    /// Encrypt(strText, "&%#@?,:*");
    /// </summary>
    /// <param name="str"></param>
    /// <param name="key"></param>
    /// <returns></returns>
    public static string Encrypt(this string str, string key)
    {
        byte[] byKey;
        byte[] IV = { 18, 52, 86, 120, 144, 171, 205, 239 };
        try
        {
            byKey = System.Text.Encoding.UTF8.GetBytes(key.Substring(0, 8));
            System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider();
            byte[] inputByteArray = System.Text.Encoding.UTF8.GetBytes(str);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(byKey, IV), System.Security.Cryptography.CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();
            return Convert.ToBase64String(ms.ToArray());
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

نحوه استفاده متد Encrypt

string str = "mytext";
string myEncrypt= str.Encrypt("myprivatekey");

متد رمزگشای

متد Decrypt نیز دو ورودی دریافت می کند و همچنین این متد به صورت یک Extension متد تعریف شده یعنی ورودی اول را به صورت Extension دریافت میکند. یکی رشته رمزنگاری شده و سپس کلیدی که با آن عمل رمزنگاری صورت گرفته را دریافت می کند.

کدهای متد Decrypt

 /// <summary>
    /// Decrypt(strText, "&%#@?,:*");
    /// </summary>
    /// <param name="str"></param>
    /// <param name="key"></param>
    /// <returns></returns>
    public static string Decrypt(this string str, string key)
    {
        byte[] byKey;
        byte[] IV = { 18, 52, 86, 120, 144, 171, 205, 239 };
        byte[] inputByteArray;
        // inputByteArray.Length = strText.Length;
        try
        {
            byKey = System.Text.Encoding.UTF8.GetBytes(key.Substring(0, 8));
            System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider();
            inputByteArray = Convert.FromBase64String(str);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(byKey, IV), System.Security.Cryptography.CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();
            System.Text.Encoding encoding = System.Text.Encoding.UTF8;
            return encoding.GetString(ms.ToArray());
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

نحوه استفاده متد Decrypt

string str = "mytext"; 
string mytext=str.Decrypt("myprivatekey");

 

دانلود

نویسنده حسین فتحی
گروه مطلب C#.Net
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۷ دی ۱۳۹۵
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران مهمان
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha