نمایش نتایج 1 تا 17 از 17

نام تاپیک: راهنمایی برای رمز گزاری

  1. #1

    راهنمایی برای رمز گزاری


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

  2. #2
    کاربر دائمی آواتار AmirGhasemi
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    522

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    نه! نه! نه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    roolinjax اين چه حرفيه مي زني؟!؟!؟! الگوريتم MD5يك الگوريتم يك طرف هست!!! نمي توني توي مقصد بازش كني!!!!!!!
    دوست عزيز شما بايد از الگوريتم هاي متقارن يا نامتقارن مثل AES, RSA,DEs,DES3 استفاده كني

  3. #3

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    سلام
    تو سایت بارها در موردش بحث شده حتی بعضی از دوستان هم مثال های گذاشتند
    تو قسمت نمونه برنامه های کوچک در سی شارپ هم مثال هست
    فکر کنم تو سایت جستجو کنید زودتر به جواب برسی

  4. #4

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    با تشکر از دوستان عزیز برای توجه شون
    دوستان من فقط میخوام که اطلاعات توی برنامه که طرف کلاینت هست قابل فهم باشه
    سمت سرور مهم نیست و بهتر هم اینه که سمت سرور کسی نتونه اطلاعات رو بخونه و بفهمه!
    لطفا با کد راهنمای کنید من تا حالا این کار رو نکردم
    ممنونم

  5. #5
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    35
    پست
    312

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

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

  6. #6
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    35
    پست
    312

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

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

  7. #7

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    دوست عزیز ممنونم از پست شما
    اما من نوشتن کد رو بلد نیستم
    لطفا بگید اگه من بخوام از این روش استفاده کنم
    کجاهای برنامه رو باید تغییر بدم


    این یه نمونه اینزرت به دیتا ببیس هست

    if (bl.bl.ginsert("insert into client (cli_fname,cli_lname,cli_nu,cli_add,cli_senf_id,cl i_tozihat,cli_state,cli_ostan,cli_shahrestan,cli_s hahr,cli_post,del)values(N'" + txt_cli_fname.Text + "',N'" + txt_cli_lname.Text + "','" + msk_cli_nu.Text + "',N'" + txt_cli_add.Text + "'," + Convert.ToInt32(textBox1.Text) + ",N'" + txt_cli_tozihat.Text + "',N'"+com_state.Text+"',N'"+txt_ostan.Text+"',N'" +txt_shhrstn.Text+"',N'"+txt_shhr.Text+"',"+Conver t.ToInt32(txt_post.Text)+",'nd') "))
    {
    int rec_id = Convert.ToInt32(bl.bl.select("select cli_id from client where cli_id=ident_current('client')").Rows[0]["cli_id"].ToString());
    bl.bl.ginsert("insert into log (user_id,op_id,table_name,rec_id,day,month,year,ti me) values (" + frm_main.user_id + ",1,'client'," + rec_id + ",'" + bl.dt.day + "','" + bl.dt.month + "','" + bl.dt.year + "','" + bl.dt.time + "')");
    MessageBox.Show("متصدی با موفقیت اضافه شد");
    dgv1.DataSource = bl.bl.select("select cli_id as 'کد متصدی',cli_fname as 'نام',cli_lname as 'نام خانوادگی',cli_nu as 'شماره تماس',senf_name as 'صنف کاری' from cli_v where cli_fname=N'" + txt_cli_fname.Text + "' and cli_lname=N'" + txt_cli_lname.Text + "' and cli_nu='" + msk_cli_nu.Text + "' and del='nd'");
    }



    که select هم داخلش هست
    خب اگه من بخوام اطلاعات رو رمز گزاری کنم چه تغییری باید ایجاد کنم؟
    لطفا رهنمایی کنید
    ممنونم

  8. #8

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    این کد الگوریتم AES است
    ولی رشته تولیدی رمزشده خیلی طولانی میشود و باید با الگوریتم هافمن فشرده سازی بشه
    حالا اگر دوستان لطف کنن الگوریتم هافمن را به این سورس اضافه کنن سورس کامل میشود

  9. #9

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    ممنونم از جواب
    این پروژه با ویژوال 2010 هست، و مال من 2008 ، نمیتونم بازش کنم
    اما کد رو دیدم
    میشه این کد رو داخل یه کلاس بذارم و هر موقع خواستم کد یا دی کد کنم کلاس رو فراخوان کنم؟
    کد برنامم رو گذاشتم توی پست اول
    لطفا بگید باید چیکار کنم
    ممنونم

  10. #10
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    شما برای رمزنگاری دستورات ه SQL باید این راهنما رو بخونید
    http://support.microsoft.com/kb/316898

    برای اون الگوریتم هم AES اگر از Deflate استفاده کنید, بازدهی و احتمالاً سرعت بیشتری میگیرید.
    (تست سرعت نگرفتم ولی بازدهیش بیشتره)

  11. #11

    نقل قول: راهنمایی برای رمز گزاری

    سلام اینم الگوریتم AES ببینید :
    یا میتونید از تابع های غیر بازگشتی نظیر MD5 استفاده کنید ولی این تابع بیشتر برای ذخیره رمز ها و کد های از این قبیل کاربرد بیشتری داره که به اعتقاد من از یه الگوریتم بازگشتی خیلی ساده استفاده کن اگر اطلاعات براتون مهم نیست .
    فایل زیر و هم دانلود کن یه روش دیگه است که همین الان نوشتم.
    دانلود


    01public static string Encrypt(string PlainText, string Password, string Salt, string HashAlgorithm, int PasswordIterations, string InitialVector, int KeySize)
    {
    try
    {
    byte[] InitialVectorBytes = Encoding.ASCII.GetBytes(InitialVector);
    byte[] SaltValueBytes = Encoding.ASCII.GetBytes(Salt);
    byte[] PlainTextBytes = Encoding.UTF8.GetBytes(PlainText);
    PasswordDeriveBytes DerivedPassword = new PasswordDeriveBytes(Password, SaltValueBytes, HashAlgorithm, PasswordIterations);
    byte[] KeyBytes = DerivedPassword.GetBytes(KeySize / 8);
    RijndaelManaged SymmetricKey = new RijndaelManaged();
    SymmetricKey.Mode = CipherMode.CBC;
    ICryptoTransform Encryptor = SymmetricKey.CreateEncryptor(KeyBytes, InitialVectorBytes);
    MemoryStream MemStream = new MemoryStream();
    CryptoStream cryptoStream = new CryptoStream(MemStream, Encryptor, CryptoStreamMode.Write);
    cryptoStream.Write(PlainTextBytes, 0, PlainTextBytes.Length);
    cryptoStream.FlushFinalBlock();
    byte[] CipherTextBytes = MemStream.ToArray();
    MemStream.Close();
    cryptoStream.Close();
    MemStream.Dispose();
    cryptoStream.Dispose();
    Encryptor.Dispose();
    return Convert.ToBase64String(CipherTextBytes);
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }



    اینکود :
    Encrypt("mykey", "mypassword", "mysalt", "MD5",5, "qwertyuiqwertyui", 256);



    اینم کدهای بازگشت :

    public static string Decrypt(string CipherText, string Password, string Salt, string HashAlgorithm, int PasswordIterations, string InitialVector, int KeySize)
    {
    try
    {
    byte[] InitialVectorBytes = Encoding.ASCII.GetBytes(InitialVector);
    byte[] SaltValueBytes = Encoding.ASCII.GetBytes(Salt);
    byte[] CipherTextBytes = Convert.FromBase64String(CipherText);
    PasswordDeriveBytes DerivedPassword = new PasswordDeriveBytes(Password, SaltValueBytes, HashAlgorithm, PasswordIterations);
    byte[] KeyBytes = DerivedPassword.GetBytes(KeySize / 8);
    RijndaelManaged SymmetricKey = new RijndaelManaged();
    SymmetricKey.Mode = CipherMode.CBC;
    ICryptoTransform Decryptor = SymmetricKey.CreateDecryptor(KeyBytes, InitialVectorBytes);
    MemoryStream MemStream = new MemoryStream(CipherTextBytes);
    CryptoStream cryptoStream = new CryptoStream(MemStream, Decryptor, CryptoStreamMode.Read);
    byte[] PlainTextBytes = new byte[CipherTextBytes.Length];
    int ByteCount = cryptoStream.Read(PlainTextBytes, 0, PlainTextBytes.Length);
    MemStream.Close();
    cryptoStream.Close();
    MemStream.Dispose();
    cryptoStream.Dispose();
    Decryptor.Dispose();
    return Encoding.UTF8.GetString(PlainTextBytes, 0, ByteCount);
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }



    دیکود :


    Decrypt("ND5lYPo4czOk5ZT7KNmU2Q==", "mypassword", "mysalt", "MD5",5, "qwertyuiqwertyui", 256);





    =================اینم MD5





    using System.Security.Cryptography;

    ...

    static string Md5Hash(string input)
    {
    MD5 md5Hasher = MD5.Create();
    byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(in put));
    StringBuilder sBuilder = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
    {
    sBuilder.Append(data[i].ToString("x2"));
    }
    return sBuilder.ToString();
    }

  12. #12

    نقل قول: راهنمایی برای رمز گزاری

    از همه دوستان بخاطر کمکشون تشکر میکنم
    میشه برام یه نمونه بزارین که هم کد کنه و هم دیکد کنه و توی دیتا گرید نمایش بده؟
    ممنونم

  13. #13

    نقل قول: راهنمایی برای رمز گزاری

    پست قبلی من یه پروژه هست برای کد و دیکد کردن.

  14. #14

    نقل قول: راهنمایی برای رمز گزاری

    من ننوشتمش ، فکر کنم ، تو خودش باشه.
    فایل های ضمیمه فایل های ضمیمه

  15. #15

    نقل قول: راهنمایی برای رمز گزاری

    عزیزان این برنامه ها 2010 هستند و من ویژوال 2008 دارم ، نمیتونم ببینم اینا رو
    خواهشا یه نمونه 2008 برام بزارین
    اون برنامه جناب صمد خان هم نمیشه دانلود کرد از پرشین گیگ
    ممنونم

  16. #16

    نقل قول: راهنمایی برای رمز گزاری

    سلام ببخشید همینجا آپ کردم.
    پروژه منم نسخه 2010 هست نیازی نیست کل پروژه رو اجرا کنید برید توی سورس کلاس رو با 2008 باز کنید.
    آخرین ویرایش به وسیله samadblaj : پنج شنبه 23 شهریور 1391 در 03:06 صبح

  17. #17

    نقل قول: [B]راهنمایی برای رمز گزاری [/B]

    نقل قول نوشته شده توسط negar.rafie مشاهده تاپیک
    این کد الگوریتم AES است
    ولی رشته تولیدی رمزشده خیلی طولانی میشود و باید با الگوریتم هافمن فشرده سازی بشه
    حالا اگر دوستان لطف کنن الگوریتم هافمن را به این سورس اضافه کنن سورس کامل میشود

    من از کلاس شما استفاده کردم و اطلاعات رو میتونم الان موقع اینزرت کردن کد کنم
    حالا موقع برگشت اطلاعات از پایگاه داده که مثلا بادستور

    dgv1.DataSource = bl.bl.select("select cli_id as 'کد متصدی',cli_fname as 'نام',cli_lname as 'نام خانوادگی',cli_nu as 'شماره تماس',senf_name as 'صنف کاری' from cli_v where cli_fname=N'" + txt_cli_fname.Text + "' and cli_lname=N'" + txt_cli_lname.Text + "' and cli_nu='" + msk_cli_nu.Text + "' and del='nd'");


    انجام میشه، چجوری اینو دی کد کنم که توی دیتا گرید به شکل درست خودش نمایش داده بشه؟
    ممنونم خواهشا راهنمایی کنید

تاپیک های مشابه

  1. استفاده از MD5 برای رمز گزاری
    نوشته شده توسط KHALESI در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 06 آبان 1389, 20:21 عصر
  2. درخواست راهنمایی برای رمزگشایی یک رمز
    نوشته شده توسط piter1355 در بخش MySQL
    پاسخ: 2
    آخرین پست: شنبه 25 مهر 1388, 12:09 عصر
  3. مقاله: کد و دی کد کردن شانسی کارکتر ها برای رمز گزاری
    نوشته شده توسط arman_bay2002 در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 30 تیر 1387, 17:42 عصر
  4. راهنمایی برای طراحی یک فرم اصلی برنامه
    نوشته شده توسط ALIreza_nil در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 01 شهریور 1383, 09:04 صبح
  5. راهنمایی برای نوشتن select
    نوشته شده توسط ario در بخش VB.NET
    پاسخ: 4
    آخرین پست: سه شنبه 18 شهریور 1382, 06:47 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •