דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. עזרה בc#

עזרה בc#

מתוזמן נעוץ נעול הועבר ארכיון code613m
26 פוסטים 5 כותבים 1.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #2

    תראה, השגיאה כתובה בעברית בצורה ברורה לגמרי.
    יש פתרון פשוט לבעיה ע"י שתקטין את הערך עם שארית, כלומר כשאתה מכפיל את המיקום הנוכחי בערך הנוכחי שיוצר מספר גדול, תעטוף את זה במודולו:

    (textChars[i] * i) % 1114111
    

    אבל לפני שאני נכנס לפרטים, תן רקע למה משמשת מתודת ההצפנה הזו ומאיפה הייתה לך ההשראה לאופן הביצוע?
    כי אני מאוד מקוה שזה שיעורי בית ולא לתועלת מעשית, שמקרה זה עדיף מאוד להשתמש בכלים מוכנים.

    פורסם במקור בפורום CODE613 ב18/12/2017 12:09 (+02:00)

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #3

      סליחה טעות שלי, אתה כתבת תנאי למנוע חריגה ואכן לא הייתה חריגה מ '\uffff'.
      אלא שבשגיאה מצויין עוד גורם: ערכים בין 0x00d800 ~ 0x00dfff בעשרונית זה ערכי 55296-57343.
      זה הסיבה.

      פורסם במקור בפורום CODE613 ב18/12/2017 12:25 (+02:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • Men770M מנותק
        Men770M מנותק
        Men770
        כתב ב נערך לאחרונה על ידי
        #4

        עכשיו כתבתי קוד כזה:

        public string Crypt(string text)
                {
                    string result = "";
                    char[] textChars = text.ToCharArray();
                    for (int i = 0; i < textChars.Length; i++)
                    {
                        if (textChars[i]  * i < '\uffff')
                        {
                            result += Convert.ToChar(textChars[i] * i);
                        }
                        else
                        {
                            if (char.MaxValue - textChars[i] * i + 1 >= char.MinValue)
                            {
                                result += Convert.ToChar((textChars[i] * i) % 1114111);
                            }
                            else
                            {
                                if ((char.MaxValue - (textChars[i] * i) % 1114111) < 0)
                                {
                                    result += Convert.ToChar((char.MaxValue - (textChars[i] * i) % 1114111) * -1);
                                }
                                
                            }
                        }
                        
                    }
                    return result;
                }
        

        אבל עכשיו הוא נתקע בתו ה88 כי זה יצא 66183 בתור המספר של התו... יש אפשרות שהוא יעשה בדיקה ויסדר עד שזה יצא תו קיים?

        פורסם במקור בפורום CODE613 ב18/12/2017 12:36 (+02:00)

        יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #5

          @דוד ל.ט.

          אבל לפני שאני נכנס לפרטים, תן רקע למה משמשת מתודת ההצפנה הזו ומאיפה הייתה לך ההשראה לאופן הביצוע?
          כי אני מאוד מקוה שזה שיעורי בית ולא לתועלת מעשית, שמקרה זה עדיף מאוד להשתמש בכלים מוכנים.

          פורסם במקור בפורום CODE613 ב18/12/2017 12:38 (+02:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0
          • Men770M מנותק
            Men770M מנותק
            Men770
            כתב ב נערך לאחרונה על ידי
            #6

            @דוד ל.ט.

            אבל לפני שאני נכנס לפרטים, תן רקע למה משמשת מתודת ההצפנה הזו ומאיפה הייתה לך ההשראה לאופן הביצוע?
            כי אני מאוד מקוה שזה שיעורי בית ולא לתועלת מעשית, שמקרה זה עדיף מאוד להשתמש בכלים מוכנים.

            זה שיעורי בית. היא משמשת לתירגול.

            פורסם במקור בפורום CODE613 ב18/12/2017 12:40 (+02:00)

            יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #7

              היא לוקחת כל תו מכפילה אותו במיקומו ואת התוצאה ממירה לתו חדש.
              אתה בטוח שזה נקרא להצפין? חשבת על דרך לשחזר מהתו החדש את התו הישן שהיה?

              פורסם במקור בפורום CODE613 ב18/12/2017 12:43 (+02:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • Men770M מנותק
                Men770M מנותק
                Men770
                כתב ב נערך לאחרונה על ידי
                #8

                לא. זה מיועד שלא יהיה איך להחזיר. קוראים לזה הצפנה חד כיונית.

                פורסם במקור בפורום CODE613 ב18/12/2017 12:47 (+02:00)

                יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #9

                  אם אי אפשר להחזיר לא קוראים לזה הצפנה. זה הריסה.
                  אתה יכול גם לעשות את העבודה בצורה קלה מאוד, להחזיר מחרוזת ריקה או להחזיר תו קבוע עבור כל סוג של תו. אם תרצה גיוון תוכל להיעזר בRandom.Next.

                  פורסם במקור בפורום CODE613 ב18/12/2017 12:53 (+02:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  1
                  • Men770M מנותק
                    Men770M מנותק
                    Men770
                    כתב ב נערך לאחרונה על ידי
                    #10

                    אז גם MD5 זו הריסה ואין איך לשמור סיסמאות באתרים, כי אם יפרצו למסד נתונים ימצאו הכל...
                    למה גוגל לא אומרים לך מה הסיסמא שלך בשיחזור סיסמא אם עברת את הכל כהלכה? כי הם לא יודעים! אתה כותב סיסמא והם מצפינים אותה ובודקים אם התוצאה זהה לסיסמא המוצפנת.

                    פורסם במקור בפורום CODE613 ב18/12/2017 13:07 (+02:00)

                    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                    תגובה 1 תגובה אחרונה
                    0
                    • Men770M מנותק
                      Men770M מנותק
                      Men770
                      כתב ב נערך לאחרונה על ידי
                      #11

                      לייתר דיוק קוראים לזה האש.

                      פורסם במקור בפורום CODE613 ב18/12/2017 13:10 (+02:00)

                      יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                      תגובה 1 תגובה אחרונה
                      0
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        כתב ב נערך לאחרונה על ידי
                        #12

                        הבנתי, אתה מתכוון לגיבוב.
                        אוקי אז אתן לך דרך שתעבוד:

                        string result = "";
                        char[] textChars = text.ToCharArray();
                        
                        for (int i = 0; i < textChars.Length; i++)
                        {
                        	var curr = (textChars[i] * i) % 0x10ffff;
                        	while (curr >= 0x00d800 && curr <= 0x00dfff)
                        		curr = (curr * i) % 0x10ffff;
                        
                        	result += char.ConvertFromUtf32(curr);
                        }
                        return result;
                        

                        יש כמה דברים לייעל פה, אבל בשיעורי בית אני לא נוגע.

                        פורסם במקור בפורום CODE613 ב18/12/2017 13:29 (+02:00)

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          כתב ב נערך לאחרונה על ידי
                          #13

                          ואם זה לא שיעורי בית, אז תוכל במקום זאת לכתוב: text.GetHashCode()

                          פורסם במקור בפורום CODE613 ב18/12/2017 13:30 (+02:00)

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          1
                          • מ מנותק
                            מ מנותק
                            מנצפך 0
                            כתב ב נערך לאחרונה על ידי
                            #14

                            נראה לי שהתוצאה של:
                            text.GetHashCode()
                            יכולה להשתנות בין מחשב למחשב. שווה לבדוק.

                            פורסם במקור בפורום CODE613 ב18/12/2017 14:30 (+02:00)

                            תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              כתב ב נערך לאחרונה על ידי
                              #15

                              @מנצפך

                              נראה לי שהתוצאה של:
                              text.GetHashCode()
                              יכולה להשתנות בין מחשב למחשב. שווה לבדוק.

                              לא, ממש לא. זה גיבוב של התוכן אבל זה בכלל לא יעיל לגיבוב סיסמה, זה היה סתם זריקה שלי.

                              פורסם במקור בפורום CODE613 ב18/12/2017 14:40 (+02:00)

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              תגובה 1 תגובה אחרונה
                              0
                              • dovidD מנותק
                                dovidD מנותק
                                dovid ניהול
                                כתב ב נערך לאחרונה על ידי
                                #16

                                הופה אתה צודק, לא רק ממחשב למחשב אלא גם מפרימוורק לאחר:
                                https://msdn.microsoft.com/en-us/library/system.string.gethashcode(v=vs.110).aspx?f=255&MSPPError=-2147217396

                                The behavior of GetHashCode is dependent on its implementation, which might change from one version of the common language runtime to another. A reason why this might happen is to improve the performance of GetHashCode.
                                

                                פורסם במקור בפורום CODE613 ב18/12/2017 14:43 (+02:00)

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                תגובה 1 תגובה אחרונה
                                0
                                • מ מנותק
                                  מ מנותק
                                  מנצפך 0
                                  כתב ב נערך לאחרונה על ידי
                                  #17

                                  תעשה md5. הכי קל.

                                  פורסם במקור בפורום CODE613 ב18/12/2017 15:03 (+02:00)

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • dovidD מנותק
                                    dovidD מנותק
                                    dovid ניהול
                                    כתב ב נערך לאחרונה על ידי
                                    #18

                                    @מנצפך

                                    תעשה md5. הכי קל.

                                    ושיעורי הבית מה יהיו עליהם?

                                    פורסם במקור בפורום CODE613 ב18/12/2017 16:26 (+02:00)

                                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • מ מנותק
                                      מ מנותק
                                      מנצפך 0
                                      כתב ב נערך לאחרונה על ידי
                                      #19

                                      אפשר לעבור על זה.

                                      פורסם במקור בפורום CODE613 ב18/12/2017 20:24 (+02:00)

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        כתב ב נערך לאחרונה על ידי
                                        #20

                                        @מתכנת

                                        אז גם MD5 זו הריסה ואין איך לשמור סיסמאות באתרים, כי אם יפרצו למסד נתונים ימצאו הכל...
                                        למה גוגל לא אומרים לך מה הסיסמא שלך בשיחזור סיסמא אם עברת את הכל כהלכה? כי הם לא יודעים! אתה כותב סיסמא והם מצפינים אותה ובודקים אם התוצאה זהה לסיסמא המוצפנת.

                                        למעשה הקוד שלך לא מוגן מפני התקיפות שהזכרת.
                                        אם מישהו יפרוץ למסד שאיחסן סיסמאות עם הפוקנציה שהבאת, הוא יידע הכל לכאורה.
                                        הוא צריך לקחת את התו, ואת מיקומו, והנה לך משוואה קלה.
                                        גם אם תסבן אותו עם כמה סיבובים על כל תו, עדיין הוא יידע את א. אורך הסיסמאות, ב. הוא ימצא סיסמאות זהות ג. הוא יצליב בין קלט של סיסמאות של עצמו לפלט ועוד.

                                        פורסם במקור בפורום CODE613 ב18/12/2017 23:51 (+02:00)

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                        תגובה 1 תגובה אחרונה
                                        1
                                        • Men770M מנותק
                                          Men770M מנותק
                                          Men770
                                          כתב ב נערך לאחרונה על ידי
                                          #21

                                          נכון, ואני עדיין עובד על זה. ואני עושה שלפעמים זה יעשה שני תווים לא זהים ולפעמים תו אחד, באופן רנדומלי. אבל גם הראשון וגם השני מחושבים, כל אחד באופן שונה.

                                          פורסם במקור בפורום CODE613 ב19/12/2017 10:01 (+02:00)

                                          יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                                          תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום