מהו מחולל Bcrypt?
מחולל bcrypt הופך סיסמה פשוטה ל-hash של bcrypt: מחרוזת בת 60 תווים המאחסנת את הסיסמה בבטחה מבלי לשמור את הסיסמה עצמה. Bcrypt היא פונקציית גיבוב סיסמאות שתוכננה על ידי נילס פרובוס ודיוויד מזיירס בשנת 1999, בנויה על צופן Blowfish, והיא עדיין ברירת המחדל במסגרות כמו Laravel, Spring Security ו-Django (כאחד מכמה גיבובים נתמכים). כלי זה מייצר גיבוב מכל סיסמה ובמצב אימות בודק אם סיסמה תואמת ל-hash שכבר יש לך.
Bcrypt עושה שני דברים ש-SHA-256 גולמי לא עושה. זה מלחיץ כל גיבוב עם 16 בתים אקראיים שנאפים בפלט, כך ששני משתמשים עם אותה סיסמה מקבלים גיבובים שונים וטבלאות קשת מחושבות מראש הן חסרות תועלת. וזה איטי בכוונה: גורם עלות מ-4 עד 31 שולט בכמה סבבי הרחבת מפתח פועלים, מכפיל את העבודה עם כל שלב. האיטיות הזו היא כל העניין. גיבוב מהיר מאפשר לתוקף עם מסד נתונים שדלף לנסות מיליארדי ניחושים בשנייה ב-GPU; גיבוב עלות-12 bcrypt לוקח חמישית שנייה בערך מזמן המעבד, מה שמכסה תוקף בקומץ ניחושים בשנייה לכל ליבה, וזה מה שמונע ממסד נתונים גנוב להפוך לרשימה של סיסמאות בטקסט רגיל בן לילה.
פורמט הפלט מתאר את עצמו. hash כמו $2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW אורז ארבעה שדות מופרדים על ידי סימני דולר: הגרסה (2b), העלות (12), ולאחר מכן מלח Base64 בן 22 תווים ואחריו תקציר 31 התווים. מכיוון שהמלח והעלות נעים בתוך ה-hash, האימות אינו זקוק לשום דבר מלבד הסיסמה ומחרוזת ה-hash, וזה בדיוק מה שמצב האימות כאן משתמש בו.
הכל פועל בצד הלקוח בדפדפן שלך הסיסמה שאתה מקליד, ה-hash שאתה מדביק והמלח שנוצר לעולם לא עוזבים את הכרטיסייה, לא פוגעים בשרת ולא נוחתים בשום יומן. חלונית הרשת של כלי המפתחים שלך מציגה את הבקשות היחידות הן בדיקת שימוש ורשומת שימוש, הנושאות את הגדרת העלות אך לעולם לא את הסיסמה או ה-hash. אלגוריתם bcrypt מיושם ב-TypeScript טהור, כך שהכלי עובד גם במצב לא מקוון לאחר טעינת הדף. הפלט תואם בתים-עבור-בתים ל-OpenBSD, PHP password_hash (PASSWORD_BCRYPT), ספריות bcrypt של Node ומאמתי bcrypt בכל מסגרת מרכזית, כך ש-hash שנוצר כאן מאמת ביישום שלך ולהיפך.
דרך מהירה לנסות את מחולל הגיבוב bcrypt היא המדגם. In Generate, הקש Load Sample כדי למלא את סיכות סוללת הסוס הנכונה, השאר את מקדם העלות על 10, ולחץ על Generate Hash. אתה מקבל מחרוזת של 60 תווים שמתחילה $2b$10$, ולחיצה על Generate Hash שוב נותנת מחרוזת אחרת, כי המלח חדש בכל פעם. ב-Verify, Load Sample ממלא גיבוב מאוחסן ואותה סיסמה, ו-Verify מדווח Match (עלות 10). שנה את האות הראשונה ל-C גדולה והיא מדווחת ללא התאמה. הנסיעה הלוך ושוב היא מה שמחולל סיסמאות bcrypt צריך להוכיח.
כיצד להשתמש במחולל Bcrypt?
הזן סיסמה
הקלד או הדבק את הסיסמה שברצונך ל-hash. Bcrypt משתמש ב-72 הבתים הראשונים של הסיסמה המקודדת UTF-8, כך שכל דבר ארוך יותר נקטע; הכלי מזהיר אותך כשזה קורה.
בחר גורם עלות
בחר עלות מ-4 עד 31 עם המחוון כל שלב מכפיל את זמן הגיבוב עלות 10 עד 12 היא הטווח הנפוץ למערכות כניסה לייצור בשנות ה-2020; עלויות גבוהות יותר עמידות יותר בפני פיצוח אך איטיות יותר גם בכל כניסה לגיטימית.
ליצור את החשיש
לחץ על צור נוצר מלח אקראי טרי של 16 בתים וה-hash bcrypt מחושב בדפדפן שלך. מכיוון שהמלח הוא אקראי, גיבוב של אותה סיסמה שוב מייצר גיבוב אחר, שהוא צפוי ונכון.
העתק אותו, או עבור לאימות
העתק את ה-hash בן 60 התווים לטבלת המשתמש או התצורה שלך. כדי לבדוק סיסמה מול hash קיים, עבור למצב אימות, הדבק את ה-hash ואת סיסמת המועמד, ודוחות הכלים תואמים או לא תואמים באמצעות העלות והמלח המוטבעים ב-hash.
תכונות מפתח
צור ואמת
Hash סיסמה חדשה או לבדוק סיסמה מול hash קיים bcrypt, שניהם בכלי אחד
גורם עלות מתכוונן
סליידר מעלות 4 עד 31 עם הערכה חיה של איך העבודה גדלה ככל שמעלים אותה
מלח אקראי בכל פעם
מלח חזק מבחינה קריפטוגרפית של 16 בתים נוצר לכל hash באמצעות Web Crypto API
פלט תואם סטנדרטי
מייצר את הפורמט של $2b$ ש-OpenBSD, PHP password_hash, Laravel ו-Node bcrypt מקבלים כולם
Frequently Asked Questions
Related Tools
Hash Generator
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
JWT Decoder
Decode JWT headers and payloads, inspect claims, and check token expiry
Password Generator
Generate strong, random passwords with custom character sets and strength analysis
Password Strength Checker
Test how strong a password is with an entropy-based strength meter, estimated crack times, and specific suggestions to make it harder to guess - all processed privately in your browser.
Comments
0 comments
No comments yet. Be the first to share your thoughts!