הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 29-11-08, 21:23   # 21
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
כמו שאמרתי לא תמצא משהו ודאי ב 100% לכן אל תסתמך על זה. אבל באתר http://il.php.net/manual/en/function.base64-decode.php יש פונקציה שאכן נראית כמו אחת שתעבוד הכי טוב בעניין הזה.

PHP קוד:
function checkBase64Encoded($encodedString)
{
    
$length strlen($encodedString);

    
// Check every character.
    
for ($i 0$i $length; ++$i
    {
        
$c $encodedString[$i];
        if (
        (
$c '0' || $c '9')
        && (
$c 'a' || $c 'z')
        && (
$c 'A' || $c 'Z')
        && (
$c != '+')
        && (
$c != '/')
        && (
$c != '=')
        ) {
            
// Bad character found.
            
return false;
        }
    }
    
// Only good characters found.
    
return true;

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

לפותח האשכול:אתה רוצה לבדוק את זה בשביל משהו תאורטי או מעשי?
אם בשביל משהו מעשי,תגיד בשביל מה ואולי נוכל לעזור לך יותר ככה.
  Reply With Quote
ישן 29-11-08, 21:30   # 22
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

לדעתי פתרתי אתת הבעיה כבר קודם
תקראו את התגובה שלי זה דיי ממצא
הכי קל לעשות DECODE, אם קיבלת FALSE אז זה אומר שזה לא BASE64 ENCODED
אם לא קיבלת FALSE אז קח את הערך שקיבלת מהDECODE, תעביר עליו ENCODE ואז תשווה אותו עם הערך המקורי שהוא צריך להיות ENCODED, אם הם שווים --> זה מוצפן בBASE 64

בהצלחה
__________________
  Reply With Quote
ישן 29-11-08, 23:07   # 23
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

ניצן - תודה רבה לך, הצלחתי.
וכמובן תודה רבה לכל אלה שניסו לעזור.

הקוד:
PHP קוד:
<?php
$string 
"#iu3498r";
$new;
$out;

        if (
base64_encode($new) == $string)
        {
        
$out "BASE64";
        }
        else {
        
$out "Not a BASE64";
        }


    if (!
base64_decode($string))
    {
    
$out "can't decode";
    }

    else {
    
$new base64_decode($string);
    }

echo 
$out;
?>
__________________
Projector Lamps
  Reply With Quote
ישן 29-11-08, 23:27   # 24
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

הקוד שלך קצת מוזר לי בכל מקרה הנה
PHP קוד:
function checkBase64Encoded ($encodedString)
{
    
$length strlen($encodedString); 

    for (
$i 0$i $length; ++$i)  
    { 
        
$c $encodedString[$i]; 
        if ( 
        (
$c '0' || $c '9'
        && (
$c 'a' || $c 'z'
        && (
$c 'A' || $c 'Z'
        && (
$c != '+'
        && (
$c != '/'
        && (
$c != '='
        ) { 
            return 
false
        } 
    } 

     if (
base64_decode($encodedString) === FALSE)
     {
          return 
false;
     }
     else if (
base64_encode(base64_decode($encodedString)) !== $encodedString)
     {
          return 
false;
     }

     return 
true;

לא בדקתי
תתפנק
__________________
  Reply With Quote
ישן 29-11-08, 23:28   # 25
DvirCohen
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 151

DvirCohen לא מחובר  

PHP קוד:
$new
$out
אני לא יכול לראות את זה :\
אם אתה לא מקצה למשתנים ערך אל תצהיר עליהם בכלל..חבל על הזיכרון
  Reply With Quote
ישן 29-11-08, 23:34   # 26
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

ציטוט:
נכתב במקור על ידי DvirCohen צפה בהודעה
PHP קוד:
$new
$out
אני לא יכול לראות את זה :\
אם אתה לא מקצה למשתנים ערך אל תצהיר עליהם בכלל..חבל על הזיכרון
זה כנראה מתכנת שעבר משפה אחרת לPHP
ודביר - PHP בכללי זוללת זכרון כי אתה לא ממש מגדיר משתנים ואז האינטרפרטר לא בדיוק מקצה גדלים (אינט של 8 ביט או 16 או 32 והלאה), בגלל זה ההערה שלך ממש לא במקום

אני יורה לעצמי ברגל אם אתה מגדיר סוגי משתנים בPHP בקוד שלך (:
__________________
  Reply With Quote
ישן 29-11-08, 23:39   # 27
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי nitsanbn צפה בהודעה
זה כנראה מתכנת שעבר משפה אחרת לPHP
ודביר - PHP בכללי זוללת זכרון כי אתה לא ממש מגדיר משתנים ואז האינטרפרטר לא בדיוק מקצה גדלים (אינט של 8 ביט או 16 או 32 והלאה), בגלל זה ההערה שלך ממש לא במקום

אני יורה לעצמי ברגל אם אתה מגדיר סוגי משתנים בPHP בקוד שלך (:
היא לא זוללת,היא מקצה הכל באופן דינאמי.
והגודל int קבוע מראש לפי מספר שקבוע מphp.ini
  Reply With Quote
ישן 29-11-08, 23:46   # 28
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

בקשר לאיך שהגדרתי את המשתנים - אני לא בקיא באיך שהמשתנים נכנסים לזיכרון וכל זה, אבל לפעם הבאה אני אדע.
בכל מקרה הרעיון של ניצן באמת עובד חלק, ניצן את האמת? לא הבנתי אפילו איך זה עובד... אתה יכול להסביר?
כלומר איך הוא באמת מזהה שזאת הצפנה תקינה בזה שעשית לו ENCODE וDECODE, לפי מה שטיפה הבנתי שסגרת את כל הקומבינציות אם ההצפנה תקינה או לא.
__________________
Projector Lamps
  Reply With Quote
ישן 30-11-08, 09:55   # 29
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

לפי הדוקומנטציה בישביל שה DECODE יחזיר FALSE צריך להעביר לו פרמטר שני שיהיה שוורה ל TRUE או 1

PHP קוד:
if (base64_decode($encodedString) === FALSE
צריך להיות

PHP קוד:
if (base64_decode($encodedStringture) === FALSE
  Reply With Quote
ישן 30-11-08, 18:14   # 30
DvirCohen
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 151

DvirCohen לא מחובר  

ציטוט:
נכתב במקור על ידי nitsanbn צפה בהודעה
זה כנראה מתכנת שעבר משפה אחרת לPHP
ודביר - PHP בכללי זוללת זכרון כי אתה לא ממש מגדיר משתנים ואז האינטרפרטר לא בדיוק מקצה גדלים (אינט של 8 ביט או 16 או 32 והלאה), בגלל זה ההערה שלך ממש לא במקום

אני יורה לעצמי ברגל אם אתה מגדיר סוגי משתנים בPHP בקוד שלך (:
האמת שאני לא יודע איך אפשר להגדיר סוג משתנה כשאתה מצהיר עליו.
מאז שאני לומד JAVA, אם הייתי יודע איך להצהיר על סוג משתנה, יש מצב הייתי עושה את זה.

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

ציטוט:
נכתב במקור על ידי Shon12 צפה בהודעה
בקשר לאיך שהגדרתי את המשתנים - אני לא בקיא באיך שהמשתנים נכנסים לזיכרון וכל זה, אבל לפעם הבאה אני אדע.
בכל מקרה הרעיון של ניצן באמת עובד חלק, ניצן את האמת? לא הבנתי אפילו איך זה עובד... אתה יכול להסביר?
כלומר איך הוא באמת מזהה שזאת הצפנה תקינה בזה שעשית לו ENCODE וDECODE, לפי מה שטיפה הבנתי שסגרת את כל הקומבינציות אם ההצפנה תקינה או לא.
ברגע שיש לך מחרוזת, ותעשה לה encode ואז decode שוב והיא תהיה שווה למחרוזת שהייתה בהתחלה, זה אומר שהמחרוזת הוצפנה, כי אז הencode שלה יהיה תמיד זהה.
אם תיקח סתם מחרוזת, לדוגמא dvir==, ותעשה לה encode, ואז תעשה decode למחרוזת החדשה, זה לא יהיה אותו דבר.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 22:49.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ