ציטוט:
נכתב במקור על ידי 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 לה.
לפותח האשכול:אתה רוצה לבדוק את זה בשביל משהו תאורטי או מעשי?
אם בשביל משהו מעשי,תגיד בשביל מה ואולי נוכל לעזור לך יותר ככה.