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

نام تاپیک: تبدیل کاراکترهای غیر مجاز یک عبارت !

  1. #1

    Question تبدیل کاراکترهای غیر مجاز یک عبارت !

    سلام
    من یک تابع دارم که string میگیره و اونو رمزگزاری میکنه و باینری برمیگردونه
    ومیخوام این عبارتو تا بانک اکسس insert کنم
    گاهی مواقع خطا میگیره و من کاراکترهای ' و / رو به چیز دیگه تبدیل کردم (replace )و درست شده.
    ولی بازم گاهی گیر میده ولی نمیدونم با چه کاراکتری مشکل داره!
    آیا این راه حل منطقی داره یا اینکه همه کاراکترهارو باید replace کنم؟
    ممنون

  2. #2
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    دوست عزیز برای رمزگزاری خود دات نت کلاسهایی داره که میتونی از اونا استفاده کنی . این توابع یک کلید میگیرن و با اون رشته رو برات رمز میکنن و هنگام باز کردنش هم فقط با اون کلید میتونید رمز گشایی کنید .

    یه سرچ کوچولو توی گوگل بزنید پیدا می کنید .

  3. #3
    اما مشکل من رمزگذاری نیست!!
    من رمزو میهوام بذارم تو بانک با دستور INSERT ولی بعضی وقتها خطا میگیره و تنها دلیلش هم اون عبارت رمز شده هست که فکر میکنم از بعضی کاراکترهاش خطا میگیره.
    مثلا اگه عبارتم ' داشته باشه - از دستور اینسرت خطا میگیره و من این کارکتر رو با چیز دیگه عوض کردم و درست شد. ولی باز از چیزهای دیگه خطا میگیره!
    (ازکلاسی استفاده کردم که یک کلید میگیره و رمزگذاری میکنه )

  4. #4
    کاربر دائمی آواتار habedijoo
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    538
    ببین دوست عزیز مثلا وقتی کاراکتر ' توی رشتت باشه ساختار دستور Insert بهم میخوره . در واقع کامپایلر فکر میکنه دستور تمام شده . خوب باز هم ممکنه کاراکترهایی توی رشتت باشه که با کاراکترهای رزرو شده زبان برنامه نویسیت یکی دربیاد . برای اینکار تو اول باید تمام کاراکتر ها رو ( فکر کنم بصورت اسکی ) بررسی کنی و آنهایی رو که با کاراکترهای رزرو شده یکی هستند جایگزین کنی .

    ولی من فکر کنم اشتباه شما یه چیز دیگست . فکر کنم شما رشته رمز شده رو عیننا بدست میاری و بعد اونو توی دستور Insert قرار میدی . برگشت تابع رمزگزاریت رو توی Insert بزار تا دیگه به اشتباه بر نخوری .

  5. #5
    (خوب منم همینو گفتم !!! یه سری کاراکتر که دستور INSERT رو خراب میکنه)
    از قسمت دوم حرفت هیچی نفهمیدم
    string endpassword;
    EncodingClass myclass=new EncodingClass();
    endpassword = myclass.encryptedtxt;

    فرض کن اینجوری هست و داخل کلاس Encodingclass هم متغیری اینجوری هست:
    this.encryptedtxt= new string(asciiChars);

  6. #6
    می تونید از " استفاده کنید


    insert into table ("i can't see")



    و همچنین در SQLServer

    insert into table ("i can't see ""you"" mss J.")


  7. #7
    اگه مشکل من فقط ' بود که سوال نمیکردم ;)

  8. #8
    کاربر دائمی آواتار dot_net_lover2
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    شیراز
    پست
    324
    به نظر من اگر جزوه آقای نصیری را در مورد Encryption مطالعه کنید هم به راحتی میتوانید داده های مورد نیاز خود را Hash کنید و نیز به راحتی میتونید داده Hash شده را در DB ذخیره کنید.

    اینم یک Sample Code

    using System.Data.SqlClient;
    using System.Security.Cryptography;

    clsCrypt cr = new clsCrypt();
    byte[] hashedByte = new byte[16];
    hashedByte = cr.computeMD5Hash(TextBox2.Text);
    SqlConnection cn = new SqlConnection(cnStr);
    string cmd = "insert into Users(UserName,Password,AccessLevel) values (N'"+TextBox1.Text+"',@pass,N'"+accessLevel+"')";
    SqlCommand sqlcmd = new SqlCommand(cmd,cn);
    sqlcmd.Parameters.Add(new SqlParameter("@pass",SqlDbType.Binary)).Value = hashedByte;
    cn.Open();
    sqlcmd.ExecuteNonQuery();
    cn.Close();

    کلاس clsCrypt را هم ضمیمه کردم.
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    ممنون
    حتما چک میکنم

  10. #10
    اصلا کار با encrypt هارو بلد نیستم. :(
    با توجه به کدبالا چجوری میتونم محتوای hashedByte رو ببینم (مثلا تو یک تکست باکس)
    من میخوام به بانک اکسس اضافه کنم. میشه کد مربوط با اونو بدید.
    ممنون

  11. #11
    اقا این جزوه آقای نصیری را در مورد Encryption رو از کجا میشه گیر آورد؟؟؟؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

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

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