בתים וטקסט הקסדצימלי
חלק מהיחידה אימות ואבטחה במסלול ה-Node.js של Coddy. שיעור 1 מתוך 24.
פונקציות קריפטוגרפיות עובדות עם בתים. בית הוא מספר מ־0 עד 255. UTF-8 מקודד טקסט כבתים, ו־Buffer מאחסן את הבתים האלה ב־Node. הקסדצימלי, או hex, כותב כל בית באמצעות שני תווים, תוך שימוש בספרות 0 עד 9 ובאותיות a עד f. כך נוח לאחסן בתים כטקסט.
const bytes = Buffer.from('Ok', 'utf8');
bytes.toString('hex'); // '4f6b'
Buffer.from('4f6b', 'hex').toString('utf8'); // 'Ok'הערך של הבית שמייצג את האות O הוא 79 בכתיב עשרוני, והוא נכתב 4f בכתיב הקסדצימלי.
ההמרה הזו הפיכה: היא משנה את הייצוג, לא את המידע. קידוד סיסמה כ־hex לא מגן עליה. בודקים גיבוב של סיסמה באמצעות חישוב מחדש של ערך נגזר, במקום לפענח אותו. כאן הקלטים הם טקסט רגיל, והתרגיל מחזיר את הייצוג שלהם ב־hex כדי שתוכל להשוות בין שתי הצורות.
אתגר
קלזהו פרויקט תרגול קטן. סביבת העבודה שלו כבר מוגדרת; ערוך רק את exercise.js.
החזר שדה hex שמכיל את הטקסט שסופק, מקודד לבתים של UTF-8 ואז להקסדצימלי. שליחת {"text":"Hi"} באמצעות POST אל /result מחזירה {"hex":"4869"}. הטקסט Ada מחזיר 416461.
נסו בעצמכם
export function exercise({ text }) {
return { hex: text };
}
כל השיעורים ביחידה אימות ואבטחה
1סיסמאות
בתים וטקסט הקסדצימליגזירת מפתח מסיסמהSalt חדשלעולם אל תשמרו סיסמאותהשוואת בתי המפתחבדיקת סיסמהכללי הרשמהתרגלו בעצמכם: Express אונליין