จะสร้างแฮชไฟล์ MD5 ใน Node.js ได้อย่างไร

Ca Srang Hae Ch Fil Md5 Ni Node Js Di Xyangri



การแฮช MD5 ” มีบทบาทสำคัญในการรักษาความปลอดภัยข้อมูลของนักพัฒนาโดยการรักษาความสมบูรณ์ของข้อมูล เป็นเช่นนั้นเองที่ Node.js “ การเข้ารหัสลับ ” ไลบรารี่ใช้ในการคำนวณค่าแฮชของไฟล์ เช่น “ เอ็มดี5 ” เพื่อตรวจสอบความสมบูรณ์ของการส่งหรือการจัดเก็บ วิธีการนี้ช่วยในการยืนยันผู้พัฒนาถึงช่องโหว่หรือการดัดแปลงไฟล์ จึงทำให้ข้อมูลมีความปลอดภัย

ภาพรวมเนื้อหา

การแฮชไฟล์ MD5 คืออะไร

เอ็มดี5 ” เป็นฟังก์ชันทางเดียวที่รับข้อมูลประเภทใดก็ตามเป็นอินพุตและแมปกับสตริงเอาต์พุตที่มีขนาดคงที่ โดยไม่คำนึงถึงขนาดของสตริงที่กำหนด ฟังก์ชันแฮชจะสร้างแฮชเอาต์พุตเดียวกัน/เหมือนกันสำหรับสตริงที่ให้มา

สตริงนี้สามารถใช้เพื่อตรวจสอบไฟล์หรือข้อความเมื่อส่งผ่านเครือข่าย และ MD5 จะตรวจสอบว่าข้อมูลถูกต้องหรือไม่ ด้านล่างนี้เป็นการสาธิต:







ค่าอินพุต ค่าแฮชที่ส่งคืน
จาวาสคริปต์ 686155af75a60a0f6e9d80c1f7edd3e9
เลียม*88 c9c77fd293a9bb6d172e36a4a04053ea

ข้อกำหนดเบื้องต้นสำหรับการสร้างแฮชไฟล์ MD5 ใน JavaScript

ต่อไปนี้เป็นข้อกำหนดเบื้องต้นที่ต้องพิจารณาก่อนสร้างแฮชไฟล์ MD5:



ขั้นตอนที่ 1: ตั้งค่าโครงการ

ก่อนอื่น ให้เริ่มต้นโปรเจ็กต์ด้วยค่าเริ่มต้น (ผ่านทาง ' -และ ” flag) โดยใช้ cmdlet ต่อไปนี้:



เวลาเริ่มต้น npm - - และ





เคล็ดลับโบนัส: สร้าง “ template.cjs ” ไฟล์แทน “ template.js ” ไฟล์เพื่อหลีกเลี่ยงการ “ โมดูล ” ข้อผิดพลาดประเภท

ขั้นตอนที่ 2: สร้างไฟล์ข้อความ

สร้างไฟล์ข้อความ “ textfile.txt ” เพื่อสร้างค่าแฮช MD5 จากเนื้อหาไฟล์ ต่อไปนี้เป็นเนื้อหาไฟล์ที่จะได้รับการประเมิน:



นอกจากนี้ โปรดทราบว่า “ การเข้ารหัสลับ ” จำเป็นต้องมีโมดูล เนื่องจากเป็นโมดูลในตัวของ Node.js ดังนั้นจึงไม่จำเป็นต้องติดตั้งหรือกำหนดค่า ด้านล่างนี้เป็นการสาธิต:

npm ติดตั้ง crypto

เห็นได้ชัดว่าไม่จำเป็นต้องติดตั้งโมดูลนี้แยกต่างหาก

จะสร้างแฮชไฟล์ MD5 ใน Node.js ได้อย่างไร

แฮช MD5 ของไฟล์สามารถสร้างขึ้นได้ด้วยความช่วยเหลือของ “ การเข้ารหัสลับ ” โมดูลและวิธีการของมันเช่น “ สร้างแฮช() ' และ ' ย่อยอาหาร() '. โมดูลนี้มีวิธีการเข้ารหัสเพื่อทำให้ข้อมูลมีความปลอดภัยใน Node.js

ใช้วิธีการทั่วไปในการสร้างแฮชไฟล์ MD5 ใน Node.js

ต่อไปนี้เป็นวิธีการที่ใช้กันทั่วไปในการสร้างแฮช md5 ของไฟล์:

readFileSync(): วิธีการนี้ใช้ในการอ่านไฟล์ในลักษณะซิงโครนัส

ไวยากรณ์

FS อ่าน FileSync ( จุด, เลือก )

ในไวยากรณ์ที่กำหนด:

  • จุด ” หมายถึงเส้นทางสัมพัทธ์ของไฟล์ข้อความ
  • เลือก ” เป็นพารามิเตอร์ทางเลือกที่ประกอบด้วยการเข้ารหัสและแฟล็ก

ค่าส่งคืน

มันดึงเนื้อหาของไฟล์

createHash(): วิธีการนี้สร้างวัตถุแฮเพื่อสร้างการย่อยแฮช

ไวยากรณ์

การเข้ารหัสลับ สร้างแฮช ( alg เลือก )

ในรูปแบบนี้:

  • อัลจี ” บ่งบอกถึงการพึ่งพาอัลกอริธึมที่สามารถเข้าถึงได้ซึ่งเป็นที่ชื่นชอบของเวอร์ชัน OpenSSL
  • เลือก ” เป็นพารามิเตอร์ทางเลือกที่ควบคุมพฤติกรรมการสตรีม

ค่าส่งคืน

มันดึงวัตถุแฮช

hash.digest(): วิธีการนี้จะสร้างข้อมูลสรุปที่ส่งผ่านเมื่อสร้างแฮช

ไวยากรณ์

กัญชา. ย่อยอาหาร ( [ เอกสาร ] )

ที่นี่, ' เอกสาร ” ระบุประเภทการเข้ารหัสที่สามารถเป็น “ ฐานสิบหก ' หรือ ' ฐาน64 '.

ค่าส่งคืน

จะดึงสตริงของการเข้ารหัสที่ส่งผ่าน

ตัวอย่างที่ 1: การสร้างแฮชไฟล์ MD5 ใน Node.js

ตัวอย่างนี้สร้างแฮช md5 ของเนื้อหาไฟล์โดยใช้เครื่องหมาย “ การเข้ารหัสลับ ' และ ' เอฟเอส ” โมดูล:

ค่าคงที่ รับ1 = จำเป็นต้อง ( 'คริปโต' ) ;

ค่าคงที่ รับ2 = จำเป็นต้อง ( 'เอฟเอส' ) ;

ค่าคงที่ อ่าน MD5 = รับ2. อ่าน FileSync ( 'textfile.txt' ) ;

ค่าคงที่ ออก = รับ1. สร้างแฮช ( 'md5' ) . อัปเดต ( อ่าน MD5 ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;

คอนโซล บันทึก ( 'MD5 แฮชของไฟล์ ->' + ออก ) ;

คำอธิบายรหัสมีดังนี้:

  • ขั้นแรก นำเข้า ' การเข้ารหัสลับ ' และ ' เอฟเอส ” โมดูลเพื่อสร้างแฮช md5 และทำงานกับไฟล์ตามลำดับ
  • ตอนนี้ใช้ ' อ่านไฟล์ซิงค์() ” วิธีการอ่านไฟล์ที่ระบุพร้อมกัน
  • หลังจากนั้นให้สมัคร “ สร้างแฮช() ” วิธีการสร้างวัตถุแฮช md5 ที่อ้างอิงถึงไฟล์
  • ที่ระบุ “ ฐานสิบหก ” คุณค่าในฐานะ “ ย่อยอาหาร() ” พารามิเตอร์ของวิธีการอ้างอิงถึงประเภทการเข้ารหัส
  • สุดท้ายดึงข้อมูลแฮช md5 ของไฟล์ที่เกี่ยวข้อง

เอาท์พุต

ดำเนินการ cmdlet ต่อไปนี้เพื่อสร้างแฮชของไฟล์ md5:

เทมเพลตโหนด ซีเจส

ผลลัพธ์นี้บอกเป็นนัยว่าแฮช md5 ของไฟล์เป้าหมายจะถูกส่งกลับอย่างเหมาะสม

ตัวอย่างที่ 2: การสร้างแฮชไฟล์ MD5 และการอ่านไฟล์ใน Node.js

ในการสาธิตนี้ สามารถดึงแฮช md5 ของไฟล์พร้อมกับการอ่านเนื้อหาไฟล์ได้:

var รวม1 = จำเป็นต้อง ( 'เอฟเอส' ) ;

คือรวม2 = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;

var getHash = ( เนื้อหา ) => {

var genHash = รวม2. สร้างแฮช ( 'md5' ) ;

ข้อมูล = genHash. อัปเดต ( เนื้อหา, 'utf-8' ) ;

ออก = ข้อมูล. ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;

กลับ ออก ;

}

var readFile = รวม1. สร้างReadStream ( 'textfile.txt' ) ;

บัญชีมะนาว = ''

อ่านไฟล์. บน ( 'ข้อมูล' , การทำงาน ( ก้อน ) {

ต่อ += ก้อน ;

} ) ;

อ่านไฟล์. บน ( 'ข้อผิดพลาด' , การทำงาน ( ผิดพลาด ) {

คอนโซล บันทึก ( ผิดพลาด ) ;

} ) ;

อ่านไฟล์. บน ( 'จบ' ,การทำงาน ( ) {

เนื้อหา var = รับแฮช ( ต่อ ) ;

คอนโซล บันทึก ( 'เนื้อหาไฟล์ -> \n ' + ต่อ ) ;

คอนโซล บันทึก ( 'MD5 แฮชของไฟล์ ->' + เนื้อหา ) ;

} ) ;

ตามบล็อคโค้ดนี้ ให้ทำตามขั้นตอนด้านล่าง:

  • ในทำนองเดียวกัน ให้รวมโมดูลที่กล่าวถึงด้วย
  • ตอนนี้ส่งข้อมูลที่จะแฮชโดยการสร้างวัตถุแฮช md5 และระบุ ' ฐานสิบหก ' รูปแบบ.
  • หลังจากนั้นให้สร้างสตรีมการอ่านเพื่ออ่านเนื้อหาของไฟล์ที่ระบุ
  • ต่อไปอ่านเนื้อหาของไฟล์และจัดการกับข้อผิดพลาดที่ต้องเผชิญ (หากมี)
  • สุดท้ายให้เรียกใช้ ' รับแฮช() ” วิธีการคำนวณแฮช md5 ของเนื้อหาไฟล์

เอาท์พุต

เรียกใช้โค้ดด้านล่างเพื่อดึงแฮช md5 ของเนื้อหาของไฟล์:

เทมเพลตโหนด ซีเจส

จากผลลัพธ์นี้ อาจบอกเป็นนัยได้ว่าเนื้อหาของไฟล์พร้อมกับแฮช md5 ของไฟล์นั้นแสดงอย่างเหมาะสม

แนวทางสำรอง 1: การสร้างแฮช MD5 ของสตริงใน Node.js

การสาธิตรหัสต่อไปนี้สร้างแฮช md5 ของค่าสตริง:

เป็นกางเกงชั้นใน = 'ลินุกซ์' ;

มะนาวประกอบด้วย = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;

var makeHash = รวม. สร้างแฮช ( 'md5' ) . อัปเดต ( เชือก ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;

คอนโซล บันทึก ( 'MD5 แฮชของสตริง ->' + ทำแฮช ) ;

ในรหัสนี้:

  • เริ่มต้นสตริงที่จะดึงค่าแฮช md5 และรวม ' การเข้ารหัสลับ ' โมดูล.
  • หลังจากนั้นก็ใช้ “ สร้างแฮช() ' และ ' ย่อยอาหาร() ” วิธีการสร้างวัตถุแฮชและดึงสตริงที่เกี่ยวข้องกับประเภทการเข้ารหัสที่ส่งผ่าน เช่น “hex”
  • สุดท้ายส่งคืนแฮช md5 ของสตริงที่กำหนด

เอาท์พุต

เทมเพลตโหนด ซีเจส

แนวทางสำรอง 2: การสร้างแฮช MD5 ของรหัสผ่านใน Node.js

ในตัวอย่างนี้ คุณสามารถดึงข้อมูลแฮช MD5 ของรหัสผ่านแทนได้:

เป็นกางเกงชั้นใน = '123*adQe&' ;

มะนาวประกอบด้วย = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;

var makeHash = รวม. สร้างแฮช ( 'md5' ) . อัปเดต ( เชือก ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;

คอนโซล บันทึก ( 'MD5 แฮชของรหัสผ่าน ->' + ทำแฮช ) ;

ที่นี่ ระบุรหัสผ่านและทำซ้ำขั้นตอนที่กล่าวถึงเพื่อรวม ' การเข้ารหัสลับ ” โมดูลและการประยุกต์ใช้การรวมกัน “ อัปเดต() ' และ ' ย่อยอาหาร() ” วิธีการสร้างแฮช md5 ของรหัสผ่าน

เอาท์พุต

การเรียกใช้ cmdlet ต่อไปนี้จะสร้างแฮช md5 ของรหัสผ่าน:

เทมเพลตโหนด ซีเจส

บทสรุป

แฮช MD5 ของไฟล์สามารถสร้างขึ้นได้โดยการติดตั้งและนำเข้าไฟล์ “ การเข้ารหัสลับ ” โมดูลและการใช้วิธีการเช่น “ สร้างแฮช() ' และ ' ย่อยอาหาร() ” เป็นต้น นอกจากนี้ ยังสามารถสร้างแฮช md5 ของสตริงที่กำหนดหรือรหัสผ่านได้อีกด้วย โดยทั่วไปแล้วจะรักษาความปลอดภัยข้อมูลโดยการเข้ารหัสตามรูปแบบการเข้ารหัสที่ส่งผ่าน