כיצד ליצור Hash של קובץ MD5 ב-Node.js?

Kyzd Lyzwr Hash Sl Qwbz Md5 B Node Js



ה ' MD5 hashing 'ממלא תפקיד חיוני באבטחת הנתונים של המפתח על ידי שמירה על שלמות הנתונים. זה כזה ש-Node.js ' קריפטו הספרייה משמשת לחישוב ערכי הגיבוב עבור הקבצים, כגון ' MD5 כדי לאמת את תקינות השידור או האחסון. גישה זו מסייעת לאשר למפתח את הפגיעויות או שיבוש הקבצים, ובכך לשמור על אבטחת הנתונים.

סקירת תוכן

מהו גיבוב קבצי MD5?

' MD5 ” היא פונקציה חד-כיוונית שלוקחת את הנתונים מכל סוג כקלט שלו וממפה אותם למחרוזת פלט בגודל קבוע, ללא קשר לגודל המחרוזת הנתונה. פונקציית ה-hash יוצרת את אותו/זהה פלט-hash עבור המחרוזת שסופקה.

היא כזו שניתן להשתמש במחרוזת זו כדי לאמת קבצים או טקסט בעת מעבר ברשת ו-MD5 מוודא אם הנתונים תקפים או לא. להלן ההדגמה:







ערך קלט ערך Hash החזיר
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
ליאם*88 c9c77fd293a9bb6d172e36a4a04053ea

תנאים מוקדמים ליצירת Hash של קובץ MD5 ב-JavaScript

להלן התנאים המוקדמים שיש לקחת בחשבון לפני יצירת Hash של קובץ MD5:



שלב 1: הגדר את הפרויקט

קודם כל, אתחל את הפרויקט עם ערכי ברירת המחדל (דרך ' 'דגל) באמצעות ה-cmdlet הבא:



npm init - ו





טיפ בונוס: ליצור ' template.cjs ' קובץ במקום ' template.js ' קובץ כדי למנוע את ' מודול ' שגיאות הקלדה.

שלב 2: צור קובץ טקסט

צור את קובץ הטקסט ' textfile.txt כדי ליצור את ערך הגיבוב של MD5 מתוכן הקובץ. להלן תוכן הקובץ שיש להעריך:



כמו כן, שים לב כי ' קריפטו יידרש מודול. מכיוון שזהו מודול מובנה של Node.js, לכן, אין צורך להתקין או להגדיר אותו. להלן ההדגמה:

npm להתקין קריפטו

כאן, ברור שאין צורך להתקין מודול זה בנפרד.

כיצד ליצור Hash של קובץ MD5 ב-Node.js?

ניתן ליצור hash MD5 של קובץ בעזרת ' קריפטו מודול ושיטותיו כגון ' createHash() ' ו' לְעַכֵּל() '. מודול זה מספק את שיטות ההצפנה לאבטחת הנתונים ב-Node.js.

השתמשו בשיטות נפוצות ליצירת Hash של קובץ MD5 ב-Node.js

להלן השיטות הנפוצות ליצירת hash md5 של הקובץ:

readFileSync(): שיטה זו משמשת לקריאת הקבצים באופן סינכרוני.

תחביר

fs. readFileSync ( pt, opt )

בתחביר הנתון:

  • ' pt ' מתייחס לנתיב היחסי של קובץ הטקסט.
  • ' העדיף ” הוא פרמטר אופציונלי הכולל את הקידוד והדגל.

ערך החזרה

זה מביא את תוכן הקובץ.

createHash(): שיטה זו יוצרת אובייקט Hash ליצירת תקצירי Hash.

תחביר

קריפטו. createHash ( alg, opt )

בתחביר הזה:

  • ' alg ' מציין את התלות באלגוריתמים נגישים המועדפת על ידי גרסת OpenSSL.
  • ' העדיף ” הוא פרמטר אופציונלי השולט בהתנהגות הזרם.

ערך החזרה

זה מאחזר את האובייקט Hash.

hash.digest(): שיטה זו יוצרת את נתוני התקציר המועברים בעת יצירת hash.

תחביר

בְּלִיל. לְעַכֵּל ( [ enc ] )

כאן, ' enc ' מציין את סוג הקידוד שיכול להיות ' hex ' או ' base64 '.

ערך החזרה

הוא מאחזר את המחרוזת של הקידוד שעבר.

דוגמה 1: יצירת Hash של קובץ MD5 ב-Node.js

דוגמה זו יוצרת hash md5 של תוכן הקובץ באמצעות ' קריפטו ' ו' fs 'מודולים:

const לקבל 1 = לִדרוֹשׁ ( 'קריפטו' ) ;

const לקבל 2 = לִדרוֹשׁ ( 'fs' ) ;

const readmd5 = לקבל 2. readFileSync ( 'textfile.txt' ) ;

const הַחוּצָה = לקבל 1. createHash ( 'md5' ) . עדכון ( readmd5 ) . לְעַכֵּל ( 'הקס' ) ;

לְנַחֵם. עֵץ ( 'MD5 Hash של קובץ -> ' + הַחוּצָה ) ;

הסבר הקוד הוא כדלקמן:

  • ראשית, ייבא את ' קריפטו 'ו' fs ” מודולים ליצירת hash md5 ועבודה עם קבצים, בהתאמה.
  • כעת, החל את ' readFileSync() ' שיטה לקריאת הקובץ שצוין באופן סינכרוני.
  • לאחר מכן, החל את ' createHash() שיטה ליצירת אובייקט hash md5 המתייחס לקובץ.
  • המסויים ' hex 'ערך בתור ' לְעַכֵּל() ' הפרמטר של השיטה מתייחס לסוג הקידוד.
  • לבסוף, אחזר את ה-hash md5 של הקובץ המתאים.

תְפוּקָה

הפעל את ה-cmdlet הבא כדי ליצור hash של קובץ md5:

תבנית צומת. cjs

תוצאה זו מרמזת שה-hash md5 של קובץ היעד מוחזר כראוי.

דוגמה 2: יצירת Hash של קובץ MD5 וקריאת הקובץ ב-Node.js

בהדגמה זו, ניתן להביא את ה-hash md5 של קובץ יחד עם קריאת תוכן הקובץ:

var include1 = לִדרוֹשׁ ( 'fs' ) ;

היה כולל2 = לִדרוֹשׁ ( 'קריפטו' ) ;

var getHash = ( תוֹכֶן ) => {

var genHash = כוללים2. createHash ( 'md5' ) ;

נתונים = genHash. עדכון ( תוֹכֶן, 'utf-8' ) ;

הַחוּצָה = נתונים. לְעַכֵּל ( 'hex' ) ;

לַחֲזוֹר הַחוּצָה ;

}

var readFile = כולל1. ליצורReadStream ( 'textfile.txt' ) ;

חשבון סיד = ''

readFile. עַל ( 'נתונים' , פונקציה ( חתיכה ) {

המשך += חתיכה ;

} ) ;

readFile. עַל ( 'שְׁגִיאָה' , פונקציה ( לִטְעוֹת ) {

לְנַחֵם. עֵץ ( לִטְעוֹת ) ;

} ) ;

readFile. עַל ( 'סוֹף' ,פוּנקצִיָה ( ) {

תוכן var = getHash ( המשך ) ;

לְנַחֵם. עֵץ ( 'תוכן קובץ -> \n ' + המשך ) ;

לְנַחֵם. עֵץ ( 'MD5 Hash של קובץ -> ' + תוֹכֶן ) ;

} ) ;

לפי גוש קוד זה, בצע את השלבים המפורטים להלן:

  • כמו כן, כלול את המודולים הנדונים.
  • כעת, העבירו את הנתונים ל-hash על ידי יצירת אובייקט hash md5 וציון ה-' hex 'פורמט.
  • לאחר מכן, צור זרם קריאה כדי לקרוא את תוכן הקובץ שצוין.
  • קדימה, קרא את תוכן הקובץ והתמודד עם השגיאות, אם קיימות.
  • לבסוף, הפעל את ' getHash() ' שיטה לחישוב ה-hash md5 של תוכן הקובץ.

תְפוּקָה

הפעל את הקוד שלהלן כדי לאחזר את ה-hash md5 של תוכן הקובץ:

תבנית צומת. cjs

מתוצאה זו, ניתן להשתמע שתוכן הקובץ יחד עם ה-hash md5 של הקובץ מוצג כראוי.

גישה חלופית 1: יצירת MD5 Hash של מחרוזת ב-Node.js

הדגמת הקוד הבאה מייצרת hash md5 של ערך מחרוזת:

היה חוטיני = 'לינוקס' ;

סיד כולל = לִדרוֹשׁ ( 'קריפטו' ) ;

var makeHash = לִכלוֹל. createHash ( 'md5' ) . עדכון ( חוּט ) . לְעַכֵּל ( 'hex' ) ;

לְנַחֵם. עֵץ ( 'MD5 Hash של מחרוזת -> ' + makeHash ) ;

בקוד הזה:

  • אתחל את המחרוזת שלפיה יש לאחזר את ערך ה-hash md5 וכלול את ' קריפטו ' מודול.
  • לאחר מכן, כמו כן, החל את ' createHash() ' ו' לְעַכֵּל() ' שיטות ליצירת אובייקט hash ולאחזר את המחרוזת ביחס לסוג הקידוד שעבר, כלומר 'hex'.
  • לבסוף, החזר את ה-hash md5 של המחרוזת המוגדרת.

תְפוּקָה

תבנית צומת. cjs

גישה חלופית 2: יצירת MD5 Hash של סיסמה ב-Node.js

בדוגמה זו, ניתן לאחזר את ה-hash MD5 של סיסמה במקום זאת:

היה חוטיני = '123*adQe&' ;

סיד כולל = לִדרוֹשׁ ( 'קריפטו' ) ;

var makeHash = לִכלוֹל. createHash ( 'md5' ) . עדכון ( חוּט ) . לְעַכֵּל ( 'hex' ) ;

לְנַחֵם. עֵץ ( 'MD5 Hash של סיסמה -> ' + makeHash ) ;

כאן, ציין את הסיסמה וחזור על השלבים שנדונו עבור הכללת ה' קריפטו ' מודול ויישום המשולב ' עדכון() ' ו' לְעַכֵּל() ' שיטות ליצירת hash md5 של הסיסמה.

תְפוּקָה

הפעלת ה-cmdlet הבא יוצרת את ה-hash md5 של הסיסמה:

תבנית צומת. cjs

סיכום

ניתן ליצור את ה-hash MD5 של קובץ על ידי התקנה ויבוא של ' קריפטו ' מודול ועושה שימוש בשיטות שלו כמו ' createHash() ' ו' לְעַכֵּל() ' וכו'. יתר על כן, ניתן ליצור את ה-hash md5 של מחרוזת מוגדרת או סיסמה. זה בעצם מאבטח את הנתונים על ידי הצפנתם על סמך פורמט הקידוד שעבר.