הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   יש סוג הצפנה ב PHP שניתנת לפענוח? (https://hosts.co.il/forums/showthread.php?t=20304)

LosNir 22-04-06 20:30

ציטוט:

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

md5 sha1 וכו' הם חד כיווניים, כלומר אני לא יכול לראות את הסיסמא ולהגיד, "אה, פה כתוב BlueNosE",
שיטת הפריצה שלהם היא הרצה של כל סיסמא אפשרית (כמו הBrute של ICQ),
או ניסיונות לתרגום, למיטב ידיעתי עד היום אף אחד לא הצליח למצוא אולגריתם שעושה את הפעולה ההפוכה..

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

Eye-Soft 22-04-06 21:07

ציטוט:

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

md5 sha1 וכו' הם חד כיווניים, כלומר אני לא יכול לראות את הסיסמא ולהגיד, "אה, פה כתוב BlueNosE",
שיטת הפריצה שלהם היא הרצה של כל סיסמא אפשרית (כמו הBrute של ICQ),
או ניסיונות לתרגום, למיטב ידיעתי עד היום אף אחד לא הצליח למצוא אולגריתם שעושה את הפעולה ההפוכה..

MD5 ו SHA1 הן לא הצפנות. הן HASH.
במקרה של MD5 כל דבר יהפוך לרצף של 31 תווים. בלתי אפשרי להפוך 31 תווים למשהו בעל נגיד 600000000 תווים. MD5 היא לא הצפנה ! אין דרך חזרה כי המספרים והאותיות לא מייצגים כלום !

Eye-Soft 22-04-06 21:08

ציטוט:

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

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

BlueNosE 22-04-06 21:14

ציטוט:

נכתב במקור על ידי Eye-Soft
MD5 ו SHA1 הן לא הצפנות. הן HASH.
במקרה של MD5 כל דבר יהפוך לרצף של 31 תווים. בלתי אפשרי להפוך 31 תווים למשהו בעל נגיד 600000000 תווים. MD5 היא לא הצפנה ! אין דרך חזרה כי המספרים והאותיות לא מייצגים כלום !

תרגם לי HASH לעברית.
אני מנסה להסביר בצורה שהוא יוכל להבין אתה יודע..
ולהגיד לו שMD5 זה HASH לא ממש אומר משהו.

miniature 22-04-06 21:15

ציטוט:

נכתב במקור על ידי Eye-Soft
MD5 ו SHA1 הן לא הצפנות. הן HASH.
במקרה של MD5 כל דבר יהפוך לרצף של 31 תווים. בלתי אפשרי להפוך 31 תווים למשהו בעל נגיד 600000000 תווים. MD5 היא לא הצפנה ! אין דרך חזרה כי המספרים והאותיות לא מייצגים כלום !

אז איך יוצרים HASH ?

miniature 22-04-06 21:20

ציטוט:

נכתב במקור על ידי LosNir
עם המון str replace,
למשל:

PHP קוד:

$pass "0202363654123";
$pass str_replace("23","7"$pass);
$pass str_replace("541","1"$pass);
$pass str_replace("0202","Nir"$pass);
$pass str_replace("3636","Azuelos"$pass);
echo 
$pass// will echo 'NirAzuelos17' 

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

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

הערה1:
אתה יכול לשנות את הסדר של ה str_replace וככה יהיה טיפה יותר קשה לגנוב את הסיסמא, למשל:

PHP קוד:

$pass "0202363654123";
$pass str_replace("0202","Nir"$pass);
$pass str_replace("3636","Azuelos"$pass);
$pass str_replace("541","1"$pass);
$pass str_replace("23","7"$pass);
echo 
$pass// will echo 'NirAzuelos17' 


אין אפשרות שהכל יהיה ב str_replace אחד?
כי ככה זה נותן שגיאה:
PHP קוד:

$str "abcdef";
$en = array("a""b""c");
$en_rep str_replace($en"d""e""f"$str); 

וזה לא נותן abcabc ...

BlueNosE 22-04-06 21:28

אתה ממציא קודים?
PHP קוד:

$str "abcdef";
$en = array("a""b""c");
$en2 = array("d""e""f");
$en_rep str_replace($en2$en$str); 


Eye-Soft 23-04-06 14:05

ציטוט:

נכתב במקור על ידי miniature
אז איך יוצרים HASH ?

HASH - לא משנה כמה תווים אתה תכניס, המחרוזת הסופית תהיה בעלת אורך קבוע.

BlueNosE 23-04-06 14:16

אני לא מבין, יש הרי אינסוף מחרוזות בעולם,
אז בטוח אחת המחרוזות תביא את אותו רצף ה31 תווים כמו מחרוזת אחרת (בעולם..)
לא?!?!?!

AFI 23-04-06 14:21

ציטוט:

נכתב במקור על ידי BlueNosE
אני לא מבין, יש הרי אינסוף מחרוזות בעולם,
אז בטוח אחת המחרוזות תביא את אותו רצף ה31 תווים כמו מחרוזת אחרת (בעולם..)
לא?!?!?!

בMD5 יכול להיות ששתי סיסמאות יתנו את אותו ערך בMD5


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

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