21-12-2008, 17:36
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
כך זה אמור לפעול.
אסביר לך את המצב:
יש לך קובץ טקסט עם X שורות.
בכל שורה יש סיסמא.
אתה לוקח את הטקסט של הקובץ ומפצל אותו לשורות, כל שורה נכנסת לאיבר במערך.
לפיכך גם כל איבר במערך מכיל סיסמא אחרת.
אתה מחפש סיסמא ספציפית וייחודית הנמצאת באחד מאיברי המערך. סימן שכל המחרוזות האחרות - אינן נכונות, ולא מתאימות, ולכן פיסקת ה-else תתבצע עבורן.
כל עוד לא תימצא הסיסמא הנכונה - בלוק ה-else הוא זה שירוץ.
אך כאשר תימצא הסיסמא הנכונה - בלוק ה-if הוא זה שירוץ. ומאחר שבבלוק ה-if יש לך הצהרת break - מייד אחרי שתימצא את הסיסמא הנכונה, לולאת ה-foreach תפסיק לרוץ, ותמשיך הלאה בקוד שאחריה.
אולי מה שאתה רוצה לעשות הוא:
קוד PHP:
// Search for the correct password
foreach($file as $value)
{
if(md5($value) == $hash) # Is it the correct password?
{
# Yes it is! Continue...
echo "hash: ", $hash, "\n";
echo "pass: ", $value, "\n";
md5crack::copyright();
break; # Exit the foreach loop only. Continue the code that comes after the foreach loop
}
}
|